У нас есть окно с несколькими компонентами в QDockWidget
s. В идеале нам бы хотелось, чтобы все компоненты были присоединяемыми, но есть один компонент, который, вероятно, всегда будет видимым. Итак, мы сделали это центральным виджетом.
Однако, это не позволяет нам создавать набор вкладок для закрепляемых виджетов (как вы можете создать, например, вызвав tabifyDockWidget
), содержащий этот центральный виджет. Итак, мы попытались создать пользовательский интерфейс без центрального виджета, но с несколькими QDockWidget
с.
Я не могу найти никаких указаний в руководстве по QDockWidget
или QMainWindow
, что это недопустимая ситуация. Мы создаем как можно больше в Qt Designer, и, кажется, требуется, чтобы у вас был центральный виджет - как это показывает сбой после ручного редактирования XML.
Вопрос: законно ли иметь QMainWindow?
только с QDockWidget
и без центрального виджета? Qt Designer просто падает из-за ошибки, или это говорит мне, что это плохая идея, и мне нужно прекратить это делать?
Документация Qt говорит, что:
Примечание: создание главного окна без центральный виджет не поддерживается. Ты должен иметь центральный виджет, даже если он это просто заполнитель.
Таким образом, вы можете просто скрыть пустой центральный виджет:
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent), ui(new Ui::MainWindow)
{
ui->setupUi(this);
ui->centralWidget->hide();
}