Відповіді:
A QWidget
- базовий клас для всіх рисувальних класів у Qt. Будь-який QWidget
клас на основі може бути показаний як вікно, показуючи його, коли у нього немає батьківського.
A QDialog
заснований наQWidget
, але призначений для відображення у вікні. Він завжди відображатиметься у вікні та має функції, щоб він добре працював із загальними кнопками діалогового вікна (прийняти, відхилити тощо).
QMainWindow
розроблено навколо загальних потреб для головного вікна. У ньому є попередньо визначені місця для панелі меню, панелі стану, панелі інструментів та інших віджетів. У ньому немає вбудованих припусків для кнопок, як QDialog
це робиться.
QMainWindow
замість просто базового класу QWidget
, QMainWindow
є QDockWidget
підтримка, тоді як QWidget
поодинці немає
QWidget : базовий клас для всіх інших елементів графічного інтерфейсу в модулі QtWidgets. Він може складати вікно сам по собі, або бути частиною QLayout, або просто членом ієрархії батьків-дітей.
QDialog : зазвичай використовується для здивування! - відобразити тимчасове діалогове вікно, коли потрібно ввести користувач.
QMainWindow : клас зручності, який можна використовувати як основне вікно вашої програми. Він має вбудовані деякі приємні функції: панель стану, панелі інструментів та панель меню