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