依旧是参考了诸多文章及帖子,最后测试总结如下:
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); //修改其为模态窗口
本文详细介绍了在Qt中如何设置窗口的模态属性,并解释了模态窗口与非模态窗口的区别。通过具体实例说明了如何使一个窗口成为模态窗口,确保用户必须关闭该窗口才能与其他窗口交互。
3634

被折叠的 条评论
为什么被折叠?



