Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Mengekalkan Perubahan Kod Saya Apabila Merancang Semula UI Pereka Qt dalam Python?
Memelihara Perubahan dalam Antara Muka Qt Designer selepas Reka Bentuk Semula UI
Apabila bekerja dengan Qt Designer untuk mencipta antara muka pengguna grafik (GUI) untuk aplikasi Python, adalah penting untuk mengelakkan kehilangan perubahan sebelumnya apabila mengubah suai UI dan menjana kod Python yang dikemas kini. Untuk menangani isu ini, dan bukannya mengubah suai kod Python yang dijana, pertimbangkan strategi berikut:
Asingkan Reka Bentuk dan Logik dalam Berbilang Fail
from Ui_Design import Ui_MainWindow class Logic(QMainWindow, Ui_MainWindow): def __init__(self, *args, **kwargs): QMainWindow.__init__(self, *args, **kwargs) self.setupUi(self)
Dengan menguruskan reka bentuk dan logik dalam fail berasingan, anda boleh mengubah suai UI dalam Qt Designer tanpa menjejaskan kod logik.
Peraturan untuk Mengasingkan Reka Bentuk dan Logik
Apabila melaksanakan strategi ini, adalah penting untuk mematuhi peraturan berikut:
** | Template | PyQtClass | ** |
---|---|---|---|
Main Window | QMainWindow | ||
Widget | QWidget | ||
Dialog with Buttons Bottom | QDialog | ||
Dialog with Buttons Right | QDialog | ||
Dialog with Without Buttons | QDialog |
Memelihara Logik dengan Pelaksanaan Khusus
Sebagai contoh, pertimbangkan untuk mengekalkan logik untuk menutup PyQt MessageBox dengan acara tutup tetingkap induk:
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()
Dengan mengikut garis panduan ini, anda boleh mengekalkan perubahan kod anda apabila mengubah suai UI Pereka Qt, memastikan aliran kerja yang lancar dan mengelakkan kehilangan data.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengekalkan Perubahan Kod Saya Apabila Merancang Semula UI Pereka Qt dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!