Qwidget、QDialog、QMainWindow差异理解

  • 伦理关系

QWidget继承自QObject和QPaintDvice

QDialog继承自QWidget,被QColorDialog、QErrorMessage、QFileDialog、QFontDialog、QInputDialog、QMessageBox、QProgressDialog、QTabDialog和QWizard继承。

QMainWindow继承自QWidget

  • QWidget

QWidget类是所有用户界面对象的基类。

  • QDialog

对话框窗口是主要用于短期任务以及和用户进行简要通讯的顶级窗口。分为:

  1. 模式对话框

阻塞统一程序中其他可视窗口活动,用户必须完成当前窗口事件,才能继续其他窗口活动。

  1. 非模式对话框

不影响其他窗口运行。

  1. 半模式对话框

主窗口不能运行。新增setModal(true)。

  • QMainWindow

提供应用程序主框架,并有自己默认结构。中心的Central Widget可以放置任何QWidget

Qwidget、QDialog、QMainWindow差异理解

  • Reference

  1. QWidget、QDialog、QMainWindow 的异同点
  2. Qt 之模式、非模式、半模式对话框
  3. Qt Documentation
  4. QDialog类参考