Qt Designerを使用してGUIを構築し、pyuic5を使用してpyファイルに変換します。私の最終目標は、変数== 1のときにユーザーがプログラムを終了するのを中断し、「あなたは本当に閉じたいのですか?タイプダイアログ。変数が== 0の場合は、プログラムを正常に閉じます。メインGuiモジュールの外部からのPyQt5割り込み終了イベント
私はこれを行う方法について多くの例を見てきましたが、それらのすべてがGUIモジュールのコードを編集する必要があります。 pyuic5で作成したgui.pyファイルをメインスクリプトにインポートして、ボタンや行編集などのすべての接続を行います。いつでもQt DesignerでGUIを更新でき、プログラムの機能には影響しません。
Qt DesignerのGUIモジュールをインポートしたメインスクリプトからこれを行う方法はありますか?私の主なスクリプトが構造化されているかの
例:デザイン内の特定の「ExitButton」がなら
import philipsControlGui
import sys
def main():
MainWindow.show()
sys.exit(app.exec_())
def test():
print('test')
# Main window setup
app = philipsControlGui.QtWidgets.QApplication(sys.argv)
MainWindow = philipsControlGui.QtWidgets.QMainWindow()
ui = philipsControlGui.Ui_MainWindow()
ui.setupUi(MainWindow)
# Main window bindings
ui.onButton.clicked.connect(test)
### Can I insert something here to do: if user closes the window... do something else instead?
if __name__ == "__main__":
main()
closeEventメソッドをオーバーライドする必要があります(多くの例からわかるように)。あなたがQt Designerでこれを行うことができるかどうかわかりません。 – Trilarion