0

有没有办法等待无模式对话的关闭?

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

4

1 回答 1

0

连接到对话框的完成信号:

    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()
于 2015-06-19T18:53:21.643 回答