Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: QtProger от Октябрь 25, 2009, 20:12



Название: QMainWindow и QWidget, какая разница ?
Отправлено: QtProger от Октябрь 25, 2009, 20:12
При создании оконной программы можно выбрать между использованием QMainWindow или QWidget в качестве главного виджета. Какая разница и что лучше выбирать ?


Название: Re: QMainWindow и QWidget, какая разница ?
Отправлено: Makss от Октябрь 25, 2009, 20:31
У QMainWindow есть кое-какие навороты именно для его функциональности, архитектуру QMainWindow можно посмотреть в ассистенте, там есть и в графическом виде - как устроен QMainWindow

QWidget - это просто видгет и ничего более, а на QMainWindow лежат и без нас уже некоторые дополнительные видгеты для расширения функционала...


Название: Re: QMainWindow и QWidget, какая разница ?
Отправлено: lit-uriy от Октябрь 25, 2009, 20:55
В QMainWindow есть специальные компоновщики (QLayout) предназначенные для размещения
* "строки состояния" (QStatusBar),
* "панели инструментов" (QToolBar),
* "Прикрепляемых панелей" (QDockWidget),
* "Панели меню" (QMenuBar).

В QWidget нет таких компоновщиков и нет возможности их поместить на него, так, чтобы пользователь мог ими манипулировать обычными способами.

Ну и ещё некоторые особенности имеются в QMainWindow


Название: Re: QMainWindow и QWidget, какая разница ?
Отправлено: QtProger от Октябрь 26, 2009, 10:10
Спасибо. Получается, что QMainWindow с наворотами, а QWidget без них.


Название: Re: QMainWindow и QWidget, какая разница ?
Отправлено: lit-uriy от Октябрь 26, 2009, 11:36
>> а QWidget без них.
Он прародитель всех визуальных компонентов, в том числе и QMainWindow. Каждый наследник QWidget имеет свои, целевые, навороты, а "папаша" только общие, базовые, возможности.