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 に答える