【发布时间】:2013-09-30 17:57:12
【问题描述】:
我正在开发一个 Qt 应用程序并开发一个上下文相关的帮助解决方案。当模态对话框处于活动状态并按下 F1 时,我希望能够与模态对话框交互并同时提供帮助,直到不再需要帮助解决方案。如果我使用 F1 事件将 Modal Dialog 设为 Non-Modal,这将允许操作父窗口,这违背了将其设为 Modal 的目的。
是否有人有一个好的解决方案,允许用户与帮助和模态对话框交互,这比简单地在模态对话框和帮助对话框之间交换模态更好? (这是通过将 Help Dialog 属性设置为 Qt::ApplicationModal 来完成的,然后当 Help Dialog 关闭时,Modal 行为返回到之前的 Modal Dialog)
提前致谢。
【问题讨论】:
-
如果唯一的问题是用户可以操纵父窗口,只需调用它的
setEnabled(false)来防止这种情况发生。 -
您可以只使用作为不同进程运行的外部帮助查看器。
-
好主意,但这个解决方案的问题是它会产生依赖和耦合问题。例如,如果父对话框的数量或关系发生变化,则开发人员需要返回并修复所有打算不活动的窗口。
标签: qt dialog modal-dialog modality