相关疑难解决方法(0)

9
推荐指数
1
解决办法
1万
查看次数

Modal QMessageBox的行为与本机Windows对话框不同

我的应用程序有一个对话框,通过询问用户QMessageBox是否要放弃他所做的或想要继续编辑的所有更改.我希望这个对话框是整个应用程序的模态.

我在某处读到这是a的标准行为QMessageBox,所以我不必明确地设置它:

mbox.setWindowModality(Qt::ApplicationModal);
Run Code Online (Sandbox Code Playgroud)

我想知道为什么它的行为与操作系统中的其他模态对话框不同(在我的例子中是Windows 7).一方面它的功能就像应该的那样,即应用程序中的所有其他输入方法都被阻止,直到用户回答对话框为止.但是,如果用户单击应用程序的任何其他窗口,它不会"闪烁"*.有没有办法让Qt像本机Windows对话框一样?

提前致谢!


*如果您不知道这个'闪烁'是什么意思:只需在Windows操作系统上打开记事本,输入一些文本并尝试关闭它.弹出一个对话框,要求保存,放弃或继续编辑.现在单击编辑器窗口中的某个位置 - >对话框的边框和标题栏闪烁/闪烁几次.

c++ qt modal-dialog messagebox

3
推荐指数
1
解决办法
1407
查看次数

标签 统计

qt ×2

c++ ×1

messagebox ×1

modal-dialog ×1