UI 重新設計後保留Qt Designer 介面中的變更
使用Qt Designer 為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 |
保留邏輯具有特定實作
例如,考慮保留關閉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()
以上是在 Python 中重新設計 Qt Designer UI 時如何保留程式碼變更?的詳細內容。更多資訊請關注PHP中文網其他相關文章!