QMainWindow только с QDockWidgets и отсутствие центрального виджета

У нас есть окно с несколькими компонентами в QDockWidget s. В идеале нам бы хотелось, чтобы все компоненты были присоединяемыми, но есть один компонент, который, вероятно, всегда будет видимым. Итак, мы сделали это центральным виджетом.

Однако, это не позволяет нам создавать набор вкладок для закрепляемых виджетов (как вы можете создать, например, вызвав tabifyDockWidget ), содержащий этот центральный виджет. Итак, мы попытались создать пользовательский интерфейс без центрального виджета, но с несколькими QDockWidget с.

Я не могу найти никаких указаний в руководстве по QDockWidget или QMainWindow , что это недопустимая ситуация. Мы создаем как можно больше в Qt Designer, и, кажется, требуется, чтобы у вас был центральный виджет - как это показывает сбой после ручного редактирования XML.

Вопрос: законно ли иметь QMainWindow? только с QDockWidget и без центрального виджета? Qt Designer просто падает из-за ошибки, или это говорит мне, что это плохая идея, и мне нужно прекратить это делать?

19
задан Ivo 20 August 2010 в 13:01
поделиться

1 ответ

Документация Qt говорит, что:

Примечание: создание главного окна без центральный виджет не поддерживается. Ты должен иметь центральный виджет, даже если он это просто заполнитель.

Таким образом, вы можете просто скрыть пустой центральный виджет:

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent), ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    ui->centralWidget->hide();
}
14
ответ дан 30 November 2019 в 04:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: