Какая разница между QMainWindow, QWidget и QDialog?

Какая разница между QMainWindow, QWidget и QDialog?

Ответ 1

A QWidget - базовый класс для всех доступных классов в Qt. Любой класс QWidget может быть показан как окно, показывая его, когда у него нет родителя.

A QDialog основан на QWidget, но предназначен для отображения в виде окна. Он всегда будет отображаться в окне и имеет функции, чтобы он хорошо работал с общими кнопками в диалогах (принимать, отклонять и т.д.).

QMainWindow разработан вокруг общих потребностей для главного окна. Он имеет предопределенные места для строки меню, строки состояния, панели инструментов и других виджетов. Он не имеет встроенных ограничений для кнопок типа QDialog.