Qt自定义样式/无边框窗口/子窗口模态/非模态问题

来源:互联网 发布:玉兔miki淘宝照片 编辑:程序博客网 时间:2024/04/30 09:56

依旧是参考了诸多文章及帖子,最后测试总结如下:


1、只要是继承自QWidget的窗口/对象,理论上都可以设置模态/非模态


2、模态是指除了本窗口内部控件外,直接使用.exec()运行(或先设置模态setWindowModality(Qt::ApplicationModal)或setWindowModality(Qt::WindowModal),再show())则本项目的其他窗口、部件不可以操作


3、如果要弹出窗体A,且A为父窗口B的子窗口,直接使用.exec()运行时,发现除了A窗口,B窗口仍然可以操作,很多时候这不是我们要的。

     想要A为模态窗口:

setWindowFlags(Qt::Window );  //标记本对象为窗口//setWindowFlags(Qt::Window | Qt::FramelessWindowHint);  //且无边框,保持最前setWindowModality(Qt::WindowModal);  //修改其为模态窗口

0 0
原创粉丝点击