Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets > [Qt] От чего наследоваться?


Автор: sergey_85 16.10.2009, 20:44
Привет!

В Qt есть 2 вида классов форм: QDialog  и QMainWindow.

Как я понимаю  QMainWindow - используется только для окна главного приложения, а QDialog - только для вспомагательных окошек (настройки, показать данные и т.д.)

Мне нужны вспомагательные окна, для вывода пользователю настроек приложения, выбора и сохранения некоторых данных.
В этих окнах мне нужны тулбары и главные менюшки.

Правильно ли для этих целей создавать  окна наследуемые от QMainWindow  или логичнее будет наследоваться от QDialog (но с ним и возни больше)?

Задаю этот вопрос потому что столкнулся с множеством разных мнений, кто говорит что QMainWindow лучше, а кто QDialog.
В справке от троллей говориться, что QMainWindow это окно главного приложения (да и по названию видно!)


Автор: SABROG 16.10.2009, 21:11
Цитата(sergey_85 @  16.10.2009,  20:44 Найти цитируемый пост)
Мне нужны вспомагательные окна, для вывода пользователю настроек приложения, выбора и сохранения некоторых данных.
В этих окнах мне нужны тулбары и главные менюшки.


Вообще я практически никогда не видел, чтобы в окне настроек были менюшки и тулбары необходимые для этих самых настроек. Вьюхи, групбоксы, радиобаттоны, табвиджеты - да и 3 кнопки: Ок, Применить, Отмена.

Используй то, что не противоречит твоему "вероисповеданию". Если QMainWindow жрет больше памяти чем QDialog и это тебя не устраивает в главной степени - не используй, если ты хочешь предоставлять пользователю свободу действий перемещая тулбар в 5 плоскостях и при этом позволять ему использовать QDockWidget'ы - используй QMainWindow. Если тебя не устраивает ни то, ни другое - пиши свой диалог.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)