アクティブなアプリケーション ウィンドウ内でダイアログ ウィンドウを起動しようとしています。私が直面している問題は、ダイアログ ウィンドウが起動されると、アクティブなアプリケーション ウィンドウと対話できることです。
これが私の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を待機させてから、残りのコードを読み続ける方法はありますか?