【Qt笔记】QDialog--模态和非模态
2016-07-28 00:00
411 查看
摘要: 两种不同的对话框
按照运行对话框时是否还可以和该程序的其他窗口进行交互,将对话框常分为两类:模态(modal)和非模态(modeless)。
创建模态对话框--1:
执行这个代码后,先弹出这个对话框,但是原来的窗口并没有出来,关闭这个对话框后,原来的对话框才弹出来。
创建模态对话框--2:
执行这段代码后,对话框和窗口都出来了,这是因为调用完show()函数后会立即将控制权交给调用者,所以程序可以执行下去,弹出窗口。而exec()函数不同,它只有当对话框被关闭时才返回。
使用new运算发开辟了内存空间。对话框和窗口相对是独立的。
按照运行对话框时是否还可以和该程序的其他窗口进行交互,将对话框常分为两类:模态(modal)和非模态(modeless)。
模态对话框
模态对话框就是没有关闭它之前,不能与同一应用程序的其他窗口进行交互。创建模态对话框--1:
QDialog dialog(this); dialog.exec();
执行这个代码后,先弹出这个对话框,但是原来的窗口并没有出来,关闭这个对话框后,原来的对话框才弹出来。
创建模态对话框--2:
QDialog *dialog = new QDialog(this); dialog->setModal(true); dialog->show();
执行这段代码后,对话框和窗口都出来了,这是因为调用完show()函数后会立即将控制权交给调用者,所以程序可以执行下去,弹出窗口。而exec()函数不同,它只有当对话框被关闭时才返回。
非模态对话框
非模态对话框可以与同一个应用程序的其他窗口进行交互。QDialog *dialog = new QDialog(this); dialog->show();
使用new运算发开辟了内存空间。对话框和窗口相对是独立的。
相关文章推荐
- QT学习 第一章:基本对话框
- 使用Shiboken为C++和Qt库创建Python绑定
- Qt 5.6更新至RC版,最终版本近在咫尺
- Qt定时器和随机数详解
- Qt实现图片移动实例(图文教程)
- Qt for Android开发实例教程
- QModelIndex/Role/Model介紹<二>
- Qt Model/View/Delegate浅谈 - QAbstractListModel
- Qt Model/View/Delegate浅谈 - roleNames()
- QT历程(一):与CryptoJs对应的AES加密
- 基于PyQt5的快速开发框架QFramer
- OSX下安装PyQt
- ok6410开发板移植DirectFB手记
- 【笔记】给Qt内嵌一个Chrome吧
- 【算法】最短路径之A*搜索
- qt入门必备
- 在 Qt4 中使用 C++11
- Hello Word ~ v0.2.2 背单词软件发布 -- By WHYPRO
- ubuntu下opencv和qt的安装配置
- linux下opengl的安装(with qt)