Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/161.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 当用户试图激活主窗口时,引发模态QDialog_C++_Qt_Modal Dialog_Qt4.6 - Fatal编程技术网

C++ 当用户试图激活主窗口时,引发模态QDialog

C++ 当用户试图激活主窗口时,引发模态QDialog,c++,qt,modal-dialog,qt4.6,C++,Qt,Modal Dialog,Qt4.6,我们有一个包含多个使用打开的,因此是模态的,这是所需的行为 现在,当用户打开其中一个对话框时,选择与某些外部程序进行交互,例如与对话框重叠但不与主窗口重叠的webbrowser,然后尝试返回到我们的程序,由于模式对话框,他无法通过单击主窗口的可见区域来访问该程序。为了返回,他需要移动/最小化阻碍QDialog查看的其他窗口,或使用任务栏激活QDialog。这可能会给人留下程序被冻结的印象,特别是当一段时间过去了,用户没有意识到打开的对话框时 在这种情况下,我重载了主窗口/对话框中的各种焦点/鼠标

我们有一个包含多个使用打开的,因此是模态的,这是所需的行为

现在,当用户打开其中一个对话框时,选择与某些外部程序进行交互,例如与对话框重叠但不与主窗口重叠的webbrowser,然后尝试返回到我们的程序,由于模式对话框,他无法通过单击主窗口的可见区域来访问该程序。为了返回,他需要移动/最小化阻碍QDialog查看的其他窗口,或使用任务栏激活QDialog。这可能会给人留下程序被冻结的印象,特别是当一段时间过去了,用户没有意识到打开的对话框时


在这种情况下,我重载了主窗口/对话框中的各种焦点/鼠标事件以引发QDialog,但在单击显示的主窗口时,我找不到激活的QDialog。有人知道这个问题的解决方案吗?我认为到目前为止我一定忽略了这一点。

确保QDialogs在构造函数的主窗口中获得了正确的父窗口。
这应该可以解决问题。

确保QDialogs在构造函数的主窗口中获得正确的父窗口。
这应该可以解决问题。

我知道这很简单。非常感谢你!我知道这很简单。非常感谢你!