Qt模态对话框和非模态对话框
2015-06-05 08:44
387 查看
1、模态对话框
(1)要想使一个对话框成为模态对话框,只需要条用它的exec()函数。
QDialog dialog(this);
dialog.exec();
(2)show()函数建立模态对话框,调用函数setModal(true)函数即可。
QDialog *dialog = new QDialog(this);
dialog->setModel(true);
dialog->show();
总结:setModel()与用exec()函数时的效果是不一样的,调用show()函数后会立刻把控制权交给调用者,程序可以继续往下执行;
而调用exec()函数,只有当对话框关闭时才会有返回值。
2、非模态对话框
(1)要想使一个对话框成为非模态对话框,使用new动态创建。
QDialog *dialog = new QDialog(this);
dialog->show();
setWindowModality()函数,有一个参数设置模态对话框要阻塞的窗口类型,可以是Qt::NonModal(不阻塞任何窗口,几非模态)、
Qt::WindowModel(阻塞它的父窗口和所有的祖先窗口及他们的子窗口)、Qt::ApplicationModel(阻塞整个应用程序的窗口)三者之一,
setModel()函数默认的是Qt::ApplicationModel.
(1)要想使一个对话框成为模态对话框,只需要条用它的exec()函数。
QDialog dialog(this);
dialog.exec();
(2)show()函数建立模态对话框,调用函数setModal(true)函数即可。
QDialog *dialog = new QDialog(this);
dialog->setModel(true);
dialog->show();
总结:setModel()与用exec()函数时的效果是不一样的,调用show()函数后会立刻把控制权交给调用者,程序可以继续往下执行;
而调用exec()函数,只有当对话框关闭时才会有返回值。
2、非模态对话框
(1)要想使一个对话框成为非模态对话框,使用new动态创建。
QDialog *dialog = new QDialog(this);
dialog->show();
setWindowModality()函数,有一个参数设置模态对话框要阻塞的窗口类型,可以是Qt::NonModal(不阻塞任何窗口,几非模态)、
Qt::WindowModel(阻塞它的父窗口和所有的祖先窗口及他们的子窗口)、Qt::ApplicationModel(阻塞整个应用程序的窗口)三者之一,
setModel()函数默认的是Qt::ApplicationModel.
相关文章推荐
- Qt 笔记-1
- 初学Qt,比较基础的知识
- Qt5中文乱码
- Qt5.4下连接Mysql,QSqlDatabase: QMYSQL driver not loaded,QSqlDatabase: available drivers: QSQLITE QMYSQL
- QT 调试器未设置
- qt中橡皮筋类 QRubberBand
- 在windows7上,Qt导入opencv库的悲剧之旅
- qt中tableview的使用
- 曲线学习PyQt5方案一
- qt qtcreator vs2010
- QTableView如何获取单元格变化的事件
- 【转】QT QString, wchar_t *, TCHAR, CString和其他字符或字符串类型的转化
- Painting video with GStreamer and Qt/QML or Gtk+ with overlay
- Qt学习记录--Qt::CaseSensitive
- Qt触摸屏原理及实现
- Qt 线程基础
- QT messagebox 乱码解决
- Qt tableWidget 空单元格 获取选中行行号
- 十六、Qt 2D绘图(六)坐标系统
- QT项目笔记