有没有办法等待无模式对话的关闭?
这是一个示例应用程序:我启动了一些程序,它需要做一些启动工作并且还需要用户登录。由于用户登录需要一些时间,我希望登录框是无模式的,这样我就可以继续在后台进行其他启动工作。但是在某些时候,在登录过程完成之前我将无法继续。所以理想情况下,我希望能够dialog.wait_until_complete()
在我到达那个点时调用一些东西,然后让它像一个模态对话框一样工作,只有在用户接受/拒绝对话框时才会继续。
有没有办法等待无模式对话的关闭?
这是一个示例应用程序:我启动了一些程序,它需要做一些启动工作并且还需要用户登录。由于用户登录需要一些时间,我希望登录框是无模式的,这样我就可以继续在后台进行其他启动工作。但是在某些时候,在登录过程完成之前我将无法继续。所以理想情况下,我希望能够dialog.wait_until_complete()
在我到达那个点时调用一些东西,然后让它像一个模态对话框一样工作,只有在用户接受/拒绝对话框时才会继续。
连接到对话框的完成信号:
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()