当用户尝试激活主窗口时引发模态QDialog
Raise modal QDialog when user tries to activate MainWindow
我们有一个包含几个qdialog的QMainWindow,这些qdialog使用exec()打开,因此是模态的(这是期望的行为)。
现在,当用户打开其中一个对话框时,选择与一些外部程序(例如web浏览器)进行交互,这些程序与对话框重叠,但不是主窗口,然后试图返回我们的程序,由于模态对话框,他无法通过单击主窗口的可见区域来进行交互。为了返回,他需要移动/最小化其他妨碍QDialog视图的窗口,或者通过使用任务栏激活它。这可能会给人一种程序被冻结的印象(特别是如果一段时间过去了,用户不知道打开了对话框)。
我在主窗口/对话框中重载各种焦点/鼠标事件以在这种情况下引发()QDialog,但当单击显示对话框的主窗口时,我找不到一个被激活的事件。有人知道这个问题的解决方法吗?
确保qdialog在构造函数中获得正确的父窗口(主窗口)。这应该能解决问题。
相关文章:
- 如何在QT中制作模态QProgressDialog?
- 如何让 QInputDialog 更少模态?
- cdhtmldialog-使其模态
- Qt - 创建主窗口前的非模态对话框
- 如何正确使用异常处理IWTH模态对话框
- 如何使用Ifileopendialog打开 *模态 *文件对话框
- 模态qprogressdialog :: setValue()导致嵌套事件循环崩溃
- 捕获新创建的模态对话框的窗口句柄
- 模态形式之上的主形式
- QT在菜单项上显示模态对话框(.UI)单击
- 如何将QMainWindow设置为模态
- Qt中的多模态窗口
- 正在从Script/osx 10.7+/safari/automatior/objective-c中删除模态
- 自动对焦QLineEdit在QDialog与弹出标志和模态在主窗口
- VC6中的多模态对话框
- 当用户尝试激活主窗口时引发模态QDialog
- 如何使非模态对话框始终在应用程序的顶部
- 非模态对话框窗口的良好设计是什么?
- 从通过模态WinForms调用的C++调用IConnectionPointImpl接口时出现问题
- 如何通过按Esc键使非模态QDialog不可取消