qt之模态窗口

概念介绍

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

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

接口介绍

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

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

模态窗口注意事项

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

Qt::WindowModal,

Qt::ApplicationModal

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

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

相关推荐
济宁雪人2 小时前
Java安全基础——序列化/反序列化
java·开发语言
q***01772 小时前
Java进阶--IO流
java·开发语言
lsx2024062 小时前
C语言中的枚举(enum)
开发语言
csbysj20202 小时前
PHP Math
开发语言
小画家~2 小时前
第三十四:golang 原生 pgsql 对应操作
android·开发语言·golang
ulias2122 小时前
初步了解STL和string
开发语言·c++·mfc
二川bro2 小时前
字符串格式化进阶:Python f-string性能优化
开发语言·python
LitchiCheng2 小时前
Mujoco 机械臂 OMPL 进行 RRT 关节空间路径规划避障、绕障
开发语言·人工智能·python
烤麻辣烫2 小时前
黑马程序员苍穹外卖(新手)DAY10
java·开发语言·学习·spring·intellij-idea
waves浪游3 小时前
进程控制(上)
linux·运维·服务器·开发语言·c++