В чем разница между QMainWindow, QWidget и QDialog?
В чем разница между QMainWindow, QWidget и QDialog?
Ответы (2)
QWidget
— это базовый класс для всех рисуемых классов в Qt. Любой класс на основе QWidget
можно отобразить в виде окна, показав его, когда у него нет родителя.
QDialog
основан на QWidget
, но предназначен для отображения в виде окна. Он всегда будет отображаться в окне и имеет функции, позволяющие хорошо работать с обычными кнопками в диалогах (принять, отклонить и т. д.).
QMainWindow
разработан с учетом общих требований к главному окну. Он имеет предопределенные места для строки меню, строки состояния, панели инструментов и других виджетов. В нем нет встроенных возможностей для кнопок, как в QDialog
.
QMainWindow
вместо базового класса QWidget
, заключается в том, что QMainWindow
поддерживает QDockWidget
, тогда как QWidget
сам по себе не поддерживает.
- person ComradeJoecool; 09.11.2018
QWidget: это базовый класс для всех других элементов графического интерфейса в модуле QtWidgets. Он может представлять собой окно сам по себе, быть частью QLayout или просто членом родительско-дочерней иерархии.
QDialog: обычно используется для удивления! - отображать временное диалоговое окно, когда требуется ввод данных пользователем.
QMainWindow: это удобный класс, который можно использовать в качестве главного окна вашего приложения. Он имеет несколько встроенных приятных функций: строку состояния, панели инструментов и строку меню.