如何將PyQt5的界面與邏輯分離


前些天使用PyQt編寫界面,將一些重要點的步驟記錄一下

用QT designer制作的界面為.ui文件,通過命令可以編譯為.py文件,但此時如果對.py文件作修改,下一次使用.ui生成的.py文件不會存在這些修改,這就是沒有將界面實現與邏輯分離開,因此我們需要實現將界面與邏輯分離開來,其實很簡單,就是新建一個.py文件,繼承界面文件的主窗口類即可,具體的邏輯實現也應該在這個.py文件中實現。

1、啟動pycharm與designer制作了一個界面calendar.ui,然后生成calendar.py文件

 

 

 

 

 然后新建一個wuyuetian.py文件來繼承Ui_MainWindow類:

import sys
from PyQt5.QtWidgets import QApplication,QMainWindow
from calendar import Ui_MainWindow
class wuyue(QMainWindow,Ui_MainWindow):
    def __init__(self):
        QMainWindow.__init__(self)
        Ui_MainWindow.__init__(self)
        self.setupUi(self)


if __name__=='__main__':
    app=QApplication(sys.argv)
    asin = wuyue()
    asin.show()
    sys.exit(app.exec_())

 

 

結果報錯:這是因為.qrc文件也需要生成.py文件,調用qrc2py命令即可:

 

 之前設置的一些按鈕樣式失效,這些以后再寫

附上qrc2py命令設置如下圖:

Name:qrc2py
Programs:C:\anaconda\python.exe
Parameters:-m PyQt5.pyrcc_main $FileName$ -o $FileNameWithoutExtension$.py
Working directory:$ProjectFileDir$

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM