有没有办法等待关闭无模式对话框?
这是一个示例应用程序:我启动了一些程序,它需要做一些启动的东西,还需要用户登录。由于用户登录需要一些时间,我希望登录框是无模式的,这样我就可以继续在后台执行其他启动工作。但在某些时候,我无法继续,直到登录过程完成。理想情况下,当我到达那一点时,我希望能够调用像dialog.wait_until_complete()
之类的东西,然后让它像一个模态对话框一样,只有在用户接受/拒绝对话框后才会继续。
答案 0 :(得分:0)
连接到对话框的finished信号:
self.login.finished.connect(self.handleLoginFinished)
...
def handleLoginFinished(self, result):
if result == QDialog.Accepted:
# register login...
else:
# deal with cancelled login...
为防止用户互动,您只需hide()
主窗口,直到登录完成。否则,要更改对话框的模态,您需要执行以下操作:
self.login.hide()
self.login.setModal(True)
self.login.show()