Änderungen in Qt Designer-Schnittstellen nach Neugestaltung der Benutzeroberfläche beibehalten
Bei der Arbeit mit Qt Designer zum Erstellen grafischer Benutzeroberflächen (GUIs) für Python-Anwendungen, Beim Ändern der Benutzeroberfläche und beim Generieren aktualisierten Python-Codes muss unbedingt vermieden werden, dass frühere Änderungen verloren gehen. Um dieses Problem zu beheben, ziehen Sie die folgende Strategie in Betracht, anstatt den generierten Python-Code zu ändern:
Getrenntes Design und Logik in mehreren Dateien
from Ui_Design import Ui_MainWindow class Logic(QMainWindow, Ui_MainWindow): def __init__(self, *args, **kwargs): QMainWindow.__init__(self, *args, **kwargs) self.setupUi(self)
Durch die Verwaltung des Designs und der Logik in separaten Dateien können Sie die Benutzeroberfläche in Qt Designer ändern, ohne dass dies Auswirkungen hat der Logikcode.
Regeln zur Trennung von Design und Logik
Bei der Umsetzung dieser Strategie ist es von entscheidender Bedeutung Beachten Sie die folgenden Regeln:
** | Template | PyQtClass | ** |
---|---|---|---|
Main Window | QMainWindow | ||
Widget | QWidget | ||
Dialog with Buttons Bottom | QDialog | ||
Dialog with Buttons Right | QDialog | ||
Dialog with Without Buttons | QDialog |
Erhaltung der Logik mit spezifischer Implementierung
Erwägen Sie beispielsweise, die Logik zum Schließen einer PyQt-MessageBox mit dem Schließereignis von beizubehalten das übergeordnete Fenster:
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()
Durch Befolgen dieser Richtlinien können Sie Ihre Codeänderungen beim Ändern von Qt Designer-Benutzeroberflächen beibehalten, einen nahtlosen Arbeitsablauf gewährleisten und Datenverlust verhindern.
Das obige ist der detaillierte Inhalt vonWie kann ich meine Codeänderungen beibehalten, wenn ich Qt Designer-Benutzeroberflächen in Python neu gestalte?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!