2015-06-19 34 views
0

有没有一种等待关闭无模对话框的方法?PyQt4:等待无模对话框

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

回答

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()