Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimanakah Saya Boleh Mengekalkan Perubahan Kod Saya Apabila Merancang Semula UI Pereka Qt dalam Python?

Bagaimanakah Saya Boleh Mengekalkan Perubahan Kod Saya Apabila Merancang Semula UI Pereka Qt dalam Python?

Linda Hamilton
Lepaskan: 2024-12-26 10:49:10
asal
869 orang telah melayarinya

How Can I Preserve My Code Changes When Redesigning Qt Designer UIs in 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

  • Reka bentuk UI dalam Qt Designer dan tukarkannya kepada fail Python yang mentakrifkan reka bentuk, seperti Ui_Design.py.
  • Buat modul berasingan, mis. logic.py, yang melaksanakan logik aplikasi dan menggunakan fail reka bentuk seperti yang ditunjukkan di bawah:
from Ui_Design import Ui_MainWindow

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

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:

  • PyQtClass: Pilih kelas PyQt yang sesuai berdasarkan UI templat yang digunakan. (Lihat jadual di bawah untuk rujukan)
  • DesignClass: Gunakan nama kelas yang ditakrifkan dalam fail reka bentuk.
** 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()
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan