UI 再設計後の Qt デザイナー インターフェイスの変更の保持
Qt デザイナーを使用して Python アプリケーションのグラフィカル ユーザー インターフェイス (GUI) を作成する場合、 UI を変更し、更新された Python コードを生成するときに、以前の変更が失われないようにすることが重要です。この問題に対処するには、生成された Python コードを変更するのではなく、次の戦略を検討してください。
デザインとロジックを複数のファイルに分離する
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 を変更できます。ロジックコード。
デザインとロジックコードの分離ルールロジック
この戦略を実装するときは、次のルールに従うことが重要です:
** | 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 サイトの他の関連記事を参照してください。