QWidget类继承自QObject类和QpaintDevice类
- QObject是所有支持Qt对象模型的基类
- QPaintDevice是Qt中所有可绘制组件的基类
QWidget能够绘制自己和处理用户的输入
-QWidget是Qt中所有窗口组件类的父类(super class)
-QWidget是所有窗口组件的抽象
-Qt中的每个窗口组件都是一个QWidget
-QWidget类对象长作为父组件或顶级组件使用
对话框是与用户进行简短交互的顶层窗口
-QDialog是Qt中所有对话框窗口的基类
-QDialog继承与QWidget是一种容器类型的组件

QDialog的意义
-QDialog作为一种子不见嵌入其他容器中
-QDialog不能作为子部件嵌入其他容器中
-QDialog是定制了窗口式样的特殊QWidget
模态对话框(QDialog::exec())
-显示后无法与父窗口进行交互
-是一种阻塞式的对话框调用方式
-模态对话框用于必须依赖用户选择的场合
如(消息提示,文件选择,打印设置,等)
非模态对话框(QDialog::show())
-显示后独立存在可以同时与父窗口进行交互
-是一种非阻塞式的对话框调用方式
-非模态对话框用于特殊功能设置的场合
如(查找操作,属性设置,等)
-在栈上创建模态对话框是最简单常用的方式
-一般情况下非模态对话框需要在堆上创建
-通过QDialog::setModal函数可以创建混合

本文详细介绍了Qt中的QWidget和QDialog类。QWidget作为窗口组件的基类,负责绘制自身并处理用户输入。QDialog是所有对话框的基类,用于短暂的用户交互,分为模态和非模态两种类型,模态对话框通过QDialog::exec()显示,非模态对话框通过QDialog::show()显示。模态对话框在栈上创建,非模态通常在堆上创建,并且具有返回值表示交互结果。
最低0.47元/天 解锁文章
8068

被折叠的 条评论
为什么被折叠?



