模态对话框

阻塞同一应用程序中其它可视窗口输入的对话框;
显示模态对话框最常见的方法是调用其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模态对话框/非模态对话框/半模态对话框相关推荐

  1. Qt之模式、非模式、半模式对话框

    关于"模式"和"非模式"对话框,相信大家都比较熟悉,但其中有一个可能很多人都比较陌生,介于两者之间的状态,我们称之为"半模式". 模式对话框 ...

  2. java 非模态_Qt 之 模态、非模态、半模态窗口的介绍及 实现QDialog的exec()方法

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/GoForwardToStep/arti ...

  3. Qt——P20 模态和非模态对话框创建

    mainwindow.cpp #include "mainwindow.h" #include "ui_mainwindow.h" #include <Q ...

  4. Qt下的模态和非模态对话框

    模态对话框(Modal Dialog)与非模态对话框(Modeless Dialog)的概念不是Qt所独有的,在各种不同的平台下都存在.又有叫法是称为模式对话框,无模式对话框等. 所谓模态对话框就是在 ...

  5. Qt中的对话框(模态,非模态,关于,问题,文件)

    2019独角兽企业重金招聘Python工程师标准>>> 项目pro中添加 CONFIG += C++11 mianwindow.h文件 #ifndef MAINWINDOW_H #d ...

  6. QT中的模态和非模态对话框

    模态对话框就是在我们没有关闭它之前,不能再与同一个应用程序的其他窗口进行交互,比如新建项目时弹出的对话框.要想使一个对话框成为模态对话框,只需要调用它的exec()函数: QDialog dialog ...

  7. Qt -- 19模态和非模态对话框

    什么是模态和非模态对话框 点不了其他的功能和界面.这种对话框就称为模态对话框.还有一些能够操作其他的窗口属于非模态对话框. 下面新建一个工程,新建好之后,在设计界面中搭建如下图所示窗体(1.在菜单项中 ...

  8. qt文件选择对话框 linux,Linux下QT实现自定义对话框以及设置模态和非模态对话框...

    最近使用QT做毕业设计,其中用到了对话框,但系统默认的对话框不能满足我的需求,于是决定自己来封装一个,这需要根据QT提供的QDialog基类来建立,以下附上头文件及实现文件,已测试通过. #ifnde ...

  9. PyQt编程之模态与非模态对话框(二)

    在上一篇里,实现的模态对话框的功能就是修改数据显示的格式,并进行提交后验证.在未应用该对话框之前,用户不能与对话框的父窗口以及父窗口的兄弟窗口就行交互,这样就保证了应用程序相关部分的状态不会在该对话框 ...

最新文章

  1. 公开课视频-《第04章 部署-Microsoft-服务器虚拟化-Hyper-V 2012 R2》
  2. 一款适用于家庭智能设备的带摄像头的开发板—最主要是价格低的超乎你想象
  3. 店招模块终于可以进行后台换图片了
  4. YARP(Yet Another Reverse Proxy)是使用 .NET 构建的高度可定制的反向代理
  5. Ubuntu 16.04 搭建Android开发环境
  6. css样式有行内式还有什么,在行内式CSS样式中,属性和值的书写规范与CSS样式规则不相同...
  7. delphi 一些知识文章地址记录(正则)
  8. uni-app获取当前具体日期时间并将其格式化
  9. 在Linux中查找用户帐户信息和登录详细信息的11种方法
  10. 【Git/Github学习笔记】Github的使用介绍
  11. ios 嗅探资源 浏览器_全网视频嗅探 APP
  12. php $act,PHP_php Undefined index和Undefined variable的解决方法,$act=$_POST['act']; 用以上代码总 - phpStudy...
  13. 微pe装linux系统教程,微PE工具箱增加安装Linux系统菜单
  14. Excel批量向下填充不连续的空白单元格工具
  15. mysql多表条件查询_mysql 多表 多个条件 查询
  16. 旋转图像 顺时针与逆时针方法
  17. 【视频】程序员面试二本实习生,疯狂问项目,他能否从容应对?(一面)
  18. 一起来DIY一个人工智能实验室吧
  19. Zend studio 调整优化
  20. 拼多多怎么设置快捷回复

热门文章

  1. CSS3 连续向下循环播放动画
  2. ES5-数组API:arr.indexOf、arr.every(条件)、arr.some(条件)、arr.forEach()遍历、arr.map()、filter过滤、reduce汇总
  3. matlab导出的eps字体偏小_matlab eps 字体用AI打开乱码的解决
  4. 对极限定义的理解_宏观区间和微观区间_20160326
  5. atlas单机模式代码_为什么说海盗战争游戏《ATLAS》很佛系?看看这些玩法就知道了...
  6. java计算机毕业设计作业自动评阅系统的设计和开发源程序+mysql+系统+lw文档+远程调试
  7. 321分排第二?985中山大学计算机考研超级爆冷?
  8. 【EI检索】VRHCIAI 2022欢迎各位学者来稿
  9. matlab 音乐信号处理,MATLAB 的音频信号处理技术 | 学步园
  10. 联想征服者有JAVA_联想发布2020款拯救者系列游戏本:素质过硬,价格良心