gpt4 book ai didi

c++ - 一个阻塞但非模态的 QDialog?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:47:35 26 4
gpt4 key购买 nike

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

我试图用 QMessageBox 解决这个问题,但如果我通过 exec() 打开它,它会阻塞整个应用程序,如果我使用 show(),程序会继续执行而无需等待用户的 react 。

有没有一种方便的方法可以通过对话框阻止调用方法或函数,但允许用户与其他窗口交互?

提前感谢您的任何提示。

最佳答案

您应该将要阻止的方法分成两部分。在第一部分结束时,您需要在不阻塞的情况下显示对话框,并将对话框的“下一步”按钮(例如)连接到必须包含旧方法第二部分的插槽。仅当用户按下按钮时才会执行此插槽。

这是在 Qt 中执行此操作的正确方法。您可能需要更改代码逻辑才能实现这一点。

还有,你真的需要第二个对话框吗?您可以将“下一步”按钮放置到您的主窗口小部件。您还可以创建另一个模态对话框,其中将包含一些设置和“下一步”按钮。

关于c++ - 一个阻塞但非模态的 QDialog?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10534628/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com