一种阻塞但非模态QDialog的?(A blocking but non-modal QDialog

2019-09-17 03:55发布

我有我想要做一些操作,图像的堆栈。 处理每个图像后,如果他们希望下一个图像继续或中止我的程序应该弹出一个对话框,提示用户。 在此之前,他们应该有机会做无论是在图像上或参数的一些手动更改。 无论如何,他们必须能够访问应用程序的窗口,而所谓的对话框的方法的执行应被阻止,直到关闭对话框。

我试着用QMessageBox提示解决这个问题,但如果我通过EXEC打开它(),它会阻止整个应用程序,如果我用秀(),该程序的执行的推移而无需等待用户的反应。

有没有阻止一个对话框调用的方法或功能,而是允许用户与其它窗口交互的便捷方式?

感谢您事先的任何暗示。

Answer 1:

你应该分裂,你要阻止分成两个部分的方法。 在第一部分结束时,您需要出示您的对话框不阻塞和对话框的连接“下一步”按钮(例),必须包含旧方法的第二部分的插槽。 仅当用户按下按钮这个时隙将被执行。

这是做在Qt的正道。 您需要posibly更改代码的逻辑来实现这一点。

另外,你真的需要第二个对话框? 你可以把“下一步”按钮,你的主要部件。 您也可以创建另一个模态对话框将包含一些设置和“下一步”按钮。



文章来源: A blocking but non-modal QDialog?