qt之模态窗口

概念介绍

模态窗口:当一个窗口设置为模态窗口时,该窗口会阻塞用户对该窗口所属应用程序下其它部分进行操作。

非模态窗口:当一个窗口为非模态时,简单的理解就是可以不操作该窗口而去操作该应用程序下其它窗口对象,而模态做不到。

接口介绍

exec:dialog调用exec接口会触发模态窗口,

show:dialog调用show接口触发模态还是非模态状态与dialog的Modal状态有关,默认情况下dialog是非模态,此时调用show该窗口就是非模态,若是调用setModal接口设置模态为true,此时调用show就是模态窗口

模态窗口注意事项

模态窗口阻塞有限制范围,重点关注两个属性:

Qt::WindowModal,

Qt::ApplicationModal

这里的WindowModal的含义模态窗口阻塞该窗口对象的父对象及祖先对象,及它父对象的兄弟及祖先对象,对其他对象不会产生阻塞。

ApplicationModal的含义是模态窗口阻塞该应用程序下所有对象,除了该模态窗口,其它都无法操作,作用范围是应用程序级别的,从这里来看明显ApplicationModal限制的范围更广,后续可以根据需求调整dialog的模态作用范围

相关推荐
希望201715 小时前
Golang Panic & Throw & Map/Channel 并发笔记
开发语言·golang
朗迹 - 张伟15 小时前
Golang安装笔记
开发语言·笔记·golang
yzx99101315 小时前
生活在数字世界:一份人人都能看懂的网络安全生存指南
运维·开发语言·网络·人工智能·自动化
小周同学@16 小时前
谈谈对this的理解
开发语言·前端·javascript
橙*^O^*安17 小时前
Go 语言基础:变量与常量
运维·开发语言·后端·golang·kubernetes
NiKo_W17 小时前
Linux 文件系统与基础指令
linux·开发语言·指令
工程师小星星17 小时前
Golang语言的文件组织方式
开发语言·后端·golang
乂爻yiyao17 小时前
java 代理模式实现
java·开发语言·代理模式
张子夜 iiii17 小时前
实战项目-----Python+OpenCV 实现对视频的椒盐噪声注入与实时平滑还原”
开发语言·python·opencv·计算机视觉
2301_7703737317 小时前
Java集合
java·开发语言