qt之模态窗口

概念介绍

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

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

接口介绍

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

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

模态窗口注意事项

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

Qt::WindowModal,

Qt::ApplicationModal

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

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

相关推荐
冻柠檬飞冰走茶20 分钟前
字母移动游戏题解:贪心求最长可保留连续子串(附 C 实现)
c语言·开发语言·数据结构·算法·动态规划
FRing0336 分钟前
vue2干货总结7(自定义指令、插槽、单页应用程序、路由的使用(VueRouter))
开发语言·前端·vue.js·vue2
雪落漂泊40 分钟前
C++算法 二分查找篇(上)
开发语言·c++·算法
波力海苔夹心脆6752 小时前
C# WPF 资源字典详解:ResourceDictionary、MergedDictionaries 与自定义控件案例
开发语言·c#·wpf·入门教程·resource·资源字典
不会算法的笨小孩2 小时前
异常的使用以及会出现的问题
开发语言·c++·c++11·异常
Hhy_11074 小时前
《C++深度解构06》手撕 string —— 从底层内存管理到深浅拷贝彻底吃透
c语言·开发语言·c++·学习·visual studio
starzy19904 小时前
深入理解Scala函数定义:从方法到函数的类型跨越
开发语言·scala
starzy19904 小时前
深入理解Scala递归函数:从栈溢出到尾调用优化
开发语言·scala
三*一5 小时前
Mapbox‑GL JS 多边形折点编辑工具:实现原理、功能拆解与踩坑总结
开发语言·javascript·ecmascript
YSL0701245 小时前
C++基础
开发语言·c++