Qt: приложение в главном окне

Я хотел бы создать встроенное приложение Qt. Это приложение должно иметь пару окон, которые вызываются нажатием кнопки. Я не знаю, правильно ли я понял концепцию использования qmainwindow:

Я создаю один класс QMainWindow, и каждое другое окно, которое должно отображаться, является виджетом, размещенным в качестве центрального виджета, или любое новое окно я называю новым QMainWindow?

Я не использую инструмент, меню или строку состояния qmainwindow, а только виджеты док-станции, окружающие центральный виджет, такие как заголовок сверху и панель кнопок внизу или виджет справа, как клавиатура. Поскольку метка заголовка остается прежней (меняются только заголовок и значок), а нижняя панель всегда содержит какую-то кнопку (которая должна вызывать другой центральный виджет или возвращаться к предыдущему), смены центрального виджета должно быть достаточно, верно?

введите здесь описание изображения


person binaryguy    schedule 17.12.2013    source источник
comment
Извините, я неправильно прочитал вопрос. Кажется, вы правы. Смены центрального виджета должно быть достаточно.   -  person Pavel Strakhov    schedule 17.12.2013
comment
как насчет соображений Алана? он предложил не использовать qmainwindow, а вместо этого использовать макет на основе виджетов.   -  person binaryguy    schedule 17.12.2013
comment
Тебе решать. Если вы хотите использовать функции QDockWidget (например, перемещение с помощью мыши и присоединение к разным сторонам окна), вы должны использовать его. Если вам не нужны эти функции, сделайте это проще и используйте QWidget с макетами.   -  person Pavel Strakhov    schedule 18.12.2013


Ответы (1)


Взгляните на макеты QT http://qt-project.org/doc/qt-5.1/qtwidgets/layout.html

Помните, что вы можете вкладывать макеты, поэтому вам, вероятно, понадобится VBoxLayout, а второй записью в этом макете будет HBoxLayout.

person Alan    schedule 17.12.2013
comment
Итак, если я использую только пару QWidget для создания окна, вы бы предпочли использовать механизм QLayout и Qwidget в качестве родителя вместо QMainWindow? - person binaryguy; 17.12.2013