Qt模态对话框/非模态对话框/半模态对话框
模态对话框
阻塞同一应用程序中其它可视窗口输入的对话框;
显示模态对话框最常见的方法是调用其exec()函数:
#pragma execution_character_set("utf-8")
MainWindow *pMainWindow = new MainWindow();
pMainWindow->setWindowTitle("主界面");
pMainWindow->show();CustomWindow *pDialog = new CustomWindow(pMainWindow);
pDialog->setWindowTitle("模式对话框");// 关键代码,以模态方法显示对话框
pDialog->exec();// 关闭模态对话框以后才会执行下面的代码
pMainWindow->setWindowTitle("主界面-模式对话框");
qDebug() << "关闭模态对话框以后,可以继续向下执行";
主界面被阻塞,不能进行点击、拖动等任何操作;
exec()之后的代码不会执行,直到关闭模态对话框。
非模态对话框
和同一个程序中其它窗口操作无关的对话框;
调用show()来显示非模式对话框,并立即将控制返回给调用者:
#pragma execution_character_set("utf-8")
MainWindow *pMainWindow = new MainWindow();
pMainWindow->setWindowTitle("主界面");
pMainWindow->show();CustomWindow *pDialog = new CustomWindow(pMainWindow);
pDialog->setWindowTitle("非模式对话框");// 关键代码,以非模态的方式显示对话框
pDialog->show();// 下面的代码会立即运行
pMainWindow->setWindowTitle("主界面-非模式对话框");
qDebug() << "立即运行";
主界面不会被阻塞,可以进行点击、拖动等任何操作;
show()之后的代码会立即执行
半模态对话框(非模态方式,界面阻塞,代码执行)
调用setModal(true)或者setWindowModality(),然后show();
#pragma execution_character_set("utf-8")
MainWindow *pMainWindow = new MainWindow();
pMainWindow->setWindowTitle("主界面");
pMainWindow->show();CustomWindow *pDialog = new CustomWindow(pMainWindow);
pDialog->setWindowTitle("半模式对话框");// 关键代码
pDialog->setModal(true);
pDialog->show();// 下面的代码会立即运行
pMainWindow->setWindowTitle("主界面-半模式对话框");
qDebug() << "立即运行";
主界面被阻塞,不能进行点击、拖动等任何操作;
show()之后的代码会立即执行。
Qt模态对话框/非模态对话框/半模态对话框相关推荐
- Qt之模式、非模式、半模式对话框
关于"模式"和"非模式"对话框,相信大家都比较熟悉,但其中有一个可能很多人都比较陌生,介于两者之间的状态,我们称之为"半模式". 模式对话框 ...
- java 非模态_Qt 之 模态、非模态、半模态窗口的介绍及 实现QDialog的exec()方法
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/GoForwardToStep/arti ...
- Qt——P20 模态和非模态对话框创建
mainwindow.cpp #include "mainwindow.h" #include "ui_mainwindow.h" #include <Q ...
- Qt下的模态和非模态对话框
模态对话框(Modal Dialog)与非模态对话框(Modeless Dialog)的概念不是Qt所独有的,在各种不同的平台下都存在.又有叫法是称为模式对话框,无模式对话框等. 所谓模态对话框就是在 ...
- Qt中的对话框(模态,非模态,关于,问题,文件)
2019独角兽企业重金招聘Python工程师标准>>> 项目pro中添加 CONFIG += C++11 mianwindow.h文件 #ifndef MAINWINDOW_H #d ...
- QT中的模态和非模态对话框
模态对话框就是在我们没有关闭它之前,不能再与同一个应用程序的其他窗口进行交互,比如新建项目时弹出的对话框.要想使一个对话框成为模态对话框,只需要调用它的exec()函数: QDialog dialog ...
- Qt -- 19模态和非模态对话框
什么是模态和非模态对话框 点不了其他的功能和界面.这种对话框就称为模态对话框.还有一些能够操作其他的窗口属于非模态对话框. 下面新建一个工程,新建好之后,在设计界面中搭建如下图所示窗体(1.在菜单项中 ...
- qt文件选择对话框 linux,Linux下QT实现自定义对话框以及设置模态和非模态对话框...
最近使用QT做毕业设计,其中用到了对话框,但系统默认的对话框不能满足我的需求,于是决定自己来封装一个,这需要根据QT提供的QDialog基类来建立,以下附上头文件及实现文件,已测试通过. #ifnde ...
- PyQt编程之模态与非模态对话框(二)
在上一篇里,实现的模态对话框的功能就是修改数据显示的格式,并进行提交后验证.在未应用该对话框之前,用户不能与对话框的父窗口以及父窗口的兄弟窗口就行交互,这样就保证了应用程序相关部分的状态不会在该对话框 ...
最新文章
- 公开课视频-《第04章 部署-Microsoft-服务器虚拟化-Hyper-V 2012 R2》
- 一款适用于家庭智能设备的带摄像头的开发板—最主要是价格低的超乎你想象
- 店招模块终于可以进行后台换图片了
- YARP(Yet Another Reverse Proxy)是使用 .NET 构建的高度可定制的反向代理
- Ubuntu 16.04 搭建Android开发环境
- css样式有行内式还有什么,在行内式CSS样式中,属性和值的书写规范与CSS样式规则不相同...
- delphi 一些知识文章地址记录(正则)
- uni-app获取当前具体日期时间并将其格式化
- 在Linux中查找用户帐户信息和登录详细信息的11种方法
- 【Git/Github学习笔记】Github的使用介绍
- ios 嗅探资源 浏览器_全网视频嗅探 APP
- php $act,PHP_php Undefined index和Undefined variable的解决方法,$act=$_POST['act']; 用以上代码总 - phpStudy...
- 微pe装linux系统教程,微PE工具箱增加安装Linux系统菜单
- Excel批量向下填充不连续的空白单元格工具
- mysql多表条件查询_mysql 多表 多个条件 查询
- 旋转图像 顺时针与逆时针方法
- 【视频】程序员面试二本实习生,疯狂问项目,他能否从容应对?(一面)
- 一起来DIY一个人工智能实验室吧
- Zend studio 调整优化
- 拼多多怎么设置快捷回复
热门文章
- CSS3 连续向下循环播放动画
- ES5-数组API:arr.indexOf、arr.every(条件)、arr.some(条件)、arr.forEach()遍历、arr.map()、filter过滤、reduce汇总
- matlab导出的eps字体偏小_matlab eps 字体用AI打开乱码的解决
- 对极限定义的理解_宏观区间和微观区间_20160326
- atlas单机模式代码_为什么说海盗战争游戏《ATLAS》很佛系?看看这些玩法就知道了...
- java计算机毕业设计作业自动评阅系统的设计和开发源程序+mysql+系统+lw文档+远程调试
- 321分排第二?985中山大学计算机考研超级爆冷?
- 【EI检索】VRHCIAI 2022欢迎各位学者来稿
- matlab 音乐信号处理,MATLAB 的音频信号处理技术 | 学步园
- 联想征服者有JAVA_联想发布2020款拯救者系列游戏本:素质过硬,价格良心