ホームページ > バックエンド開発 > Python チュートリアル > Python で Qt Designer UI を再設計するときにコードの変更を保存するにはどうすればよいですか?

Python で Qt Designer UI を再設計するときにコードの変更を保存するにはどうすればよいですか?

Linda Hamilton
リリース: 2024-12-26 10:49:10
オリジナル
868 人が閲覧しました

How Can I Preserve My Code Changes When Redesigning Qt Designer UIs in Python?

UI 再設計後の Qt デザイナー インターフェイスの変更の保持

Qt デザイナーを使用して Python アプリケーションのグラフィカル ユーザー インターフェイス (GUI) を作成する場合、 UI を変更し、更新された Python コードを生成するときに、以前の変更が失われないようにすることが重要です。この問題に対処するには、生成された Python コードを変更するのではなく、次の戦略を検討してください。

デザインとロジックを複数のファイルに分離する

  • UI をデザインするQt Designer を使用して、デザインを定義する Python ファイルに変換します。 Ui_Design.py.
  • 別のモジュールを作成します。 logic.py はアプリケーション ロジックを実装し、以下に示すようにデザイン ファイルを使用します。
from Ui_Design import Ui_MainWindow

class Logic(QMainWindow, Ui_MainWindow):
    def __init__(self, *args, **kwargs):
        QMainWindow.__init__(self, *args, **kwargs)
        self.setupUi(self)
ログイン後にコピー

デザインとロジックを別のファイルで管理することで、影響を与えることなく Qt Designer で UI を変更できます。ロジックコード。

デザインとロジックコードの分離ルールロジック

この戦略を実装するときは、次のルールに従うことが重要です:

  • PyQtClass: UI に基づいて適切な PyQt クラスを選択します。使用したテンプレート。 (以下の表を参照してください)
  • DesignClass: デザイン ファイルで定義されたクラスの名前を使用します。
** Template PyQtClass **
Main Window QMainWindow
Widget QWidget
Dialog with Buttons Bottom QDialog
Dialog with Buttons Right QDialog
Dialog with Without Buttons QDialog

保持ロジック特定の実装を使用して

たとえば、次のロジックを保持することを検討してください。親ウィンドウの close イベントで PyQt MessageBox を閉じます:

class Logic(QMainWindow, Ui_MainWindow):
    def __init__(self, *args, **kwargs):
        QMainWindow.__init__(self, *args, **kwargs)
        self.setupUi(self)

    def closeEvent(self, event):
        answer = QtWidgets.QMessageBox.question(
            self,
            'Are you sure you want to quit ?',
            'Task is in progress !',
            QtWidgets.QMessageBox.Yes,
            QtWidgets.QMessageBox.No)
        if answer == QtWidgets.QMessageBox.Yes:
            event.accept()
        else:
            event.ignore()
ログイン後にコピー

これらのガイドラインに従うことで、Qt デザイナー UI を変更するときにコードの変更を保存し、シームレスなワークフローを確保し、データ損失を防ぐことができます。

以上がPython で Qt Designer UI を再設計するときにコードの変更を保存するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート