【发布时间】:2013-02-11 18:31:32
【问题描述】:
我有一个无模式的 QDialog 框,在我的 Qt 应用程序中弹出错误/警告,我想强制用户只关注该对话框,而不是单击应用程序中的任何内容,直到他们单击对话框上的确定。
我需要对话框保持无模式。隐藏主窗口或将其覆盖之类的解决方案是不可接受的。
目前我正在使用setModal(true); 来解决我的问题。但我认为这种方法可能会阻止主应用程序执行。
【问题讨论】:
-
嗯,这就是模态对话框的用途,它可以阻止用户与应用程序的其余部分进行交互。
-
@JoachimPileborg 我有消息到达后台,必须由应用程序在到达时执行。
-
如果我问如何禁用键盘和鼠标输入,我想这个问题会更清楚。
-
我认为您想要实现的目标很愚蠢。模态对话框用于禁用背景窗口。如果您想以任何一种方式阻止背景窗口,为什么要保持无模式?我无法理解。
-
@Blood 我有一个异步系统。阻止后台应用程序意味着我会阻止更多用户触发的事件。需要明确的是,我想阻止用户事件像鼠标点击一样糟糕,但我不想阻止其他事件,比如数据包到达。