天天看点

Qt 笔记: QWidget,QDialog

QWidget类继承自QObject类和QpaintDevice类

- QObject是所有支持Qt对象模型的基类

- QPaintDevice是Qt中所有可绘制组件的基类

QWidget能够绘制自己和处理用户的输入

-QWidget是Qt中所有窗口组件类的父类(super class)

-QWidget是所有窗口组件的抽象

-Qt中的每个窗口组件都是一个QWidget

-QWidget类对象长作为父组件或顶级组件使用

对话框是与用户进行简短交互的顶层窗口

-QDialog是Qt中所有对话框窗口的基类

-QDialog继承与QWidget是一种容器类型的组件

Qt 笔记: QWidget,QDialog

QDialog的意义

-QDialog作为一种子不见嵌入其他容器中

-QDialog不能作为子部件嵌入其他容器中

-QDialog是定制了窗口式样的特殊QWidget

模态对话框(QDialog::exec())

-显示后无法与父窗口进行交互

-是一种阻塞式的对话框调用方式

-模态对话框用于必须依赖用户选择的场合

如(消息提示,文件选择,打印设置,等)

非模态对话框(QDialog::show())

-显示后独立存在可以同时与父窗口进行交互

-是一种非阻塞式的对话框调用方式

-非模态对话框用于特殊功能设置的场合

如(查找操作,属性设置,等)

-在栈上创建模态对话框是最简单常用的方式

-一般情况下非模态对话框需要在堆上创建

-通过QDialog::setModal函数可以创建混合特性的对话框

-非模态对话框需要制定Qt::WA_DeleteOnClose属性

-只有模态对话框才有返回值的概念

-模态对话框的返回值用于表示交互结果

-QDialog::exec()的返回值为交互结果

-void QDialog::done(int i) 关闭对话框并将参数作为交互结果

-QDialog::Accepted-用户操作成功

-QDialog::Rejected-用户操作失败

继续阅读