1

アクティブなアプリケーション ウィンドウ内でダイアログ ウィンドウを起動しようとしています。私が直面している問題は、ダイアログ ウィンドウが起動されると、アクティブなアプリケーション ウィンドウと対話できることです。

これが私のpythonスクリプトの例です:

class select_output_UI(QtGui.QDialog):

    def __init__(self, *args, **kwargs):
        super(select_output_UI, self).__init__(*args, **kwargs)

        # BUILD UI FROM FILE
        ui_file = QtCore.QFile("./select_output.ui")
        ui_file.open(QtCore.QFile.ReadOnly)
        self.myWidget = QtUiTools.QUiLoader().load(ui_file, self)
        ui_file.close()

        # SIGNALS
        self.myWidget.cancel_button.clicked.connect(self.cancel_button_pressed)

    def cancel_button_pressed(self):
        self.button_pressed = "CANCEL"
        self.close()

dialog = select_output_UI(QtGui.QApplication.activeWindow())

このダイアログ ウィンドウを起動するには、私がよく知っている 2 つのオプションがあります。

dialog.show()

このオプションを使用すると、アクティブなアプリケーション ウィンドウを操作できますが、このオプションは、ダイアログ ウィンドウが閉じるのを待たずに、下にあるコードを実行し続けます。

dialog.exec_()

このオプションでは、アクティブなアプリケーション ウィンドウを操作できません。ただし、ダイアログ ウィンドウが閉じるのを待ってから、残りのコードを続行します。

ダイアログウィンドウが起動している間にアプリケーションウィンドウとやり取りし、ダイアログウィンドウが閉じられるまでPythonを待機させてから、残りのコードを読み続ける方法はありますか?

4

1 に答える 1