python程序的基本框架_Python PyQt学习随笔:PyQt主程序的基本框架
在完成UI設計將UI通過PyUic轉成Py文件后,由于這個生成的文件每次通過PyUic生成時都會被覆蓋,因此應用的主程序必須另外單獨編寫py文件。需要將UI生成的文件import到主程序的py文件中。
主程序的代碼框架包括:
一、import 相關類
包括UI對應的py文件,以及使用到的PyQt相關的模塊,具體看應用的情況,但一般要將QtWidgets、QtGui 、QtCore 導入,如:
from PyQt5 import QtWidgets
from PyQt5.QtWidgets import QMessageBox
from PyQt5.QtGui import QStandardItemModel, QStandardItem
from PyQt5.QtCore import Qt
二、根據UI類派生一個子類
在主程序中,需要根據UI對應類以及QtWidgets派生一個新類,在該新類中實現所有槽函數的代碼。
關于派生的新類請注意:
1、一定要有兩個基類,一個是UI界面窗口的窗口類,一個是UI類本身;
2、一定要實現新類的構造方法,并在構造方法中調用父類的構造方法;
3、新類的構造方法中要調用self.setupUi(self) ,setupUi為PyUIC生成的UI類圖形界面初始化的重要函數。
案例:
class w_ReadExecl(QtWidgets.QWidget,Ui_Ui_tableView):#派生一個新類
def __init__(self): #新類構造函數,必須有
super(w_ReadExecl, self).__init__() #調用父類構造函數,必須有
self.setupUi(self) #進行圖形界面初始化,必須有
self.tableView.setEditTriggers(QtWidgets.QAbstractItemView.DoubleClicked | QtWidgets.QAbstractItemView.SelectedClicked)
def showExcel(self): #按鈕的槽函數
filename = self.e_InputFileName.text()
sheetname = self.inputSheetName.text()
hashead = self.inputHasHead.isChecked()
print(f"即將顯示{filename}.[{sheetname }]"
........
三、編寫應用主代碼
這部分主要是要遵循PyQt5主程序的通用規范代碼,包括:
1、 創建應用實例:
app = QtWidgets.QApplication(sys.argv)
每一個pyqt程序必須創建一個application對象,sys.argv是命令行參數,可以通過命令啟動的時候傳遞參數。
2、初始化主程序窗口并顯示:
w= w_ReadExecl()
w.show()
注意: w是主窗口應用名字,可以為自己想要的名字。
3、 事件處理開始,進入程序主循環
sys.exit(app.exec_())
主循環程序的任務就是等待事件,并把事件通過信號和槽的連接關系發送給指定應用處理。當調用app.exit()或者程序因為各種原因被破壞后,使用sys.exit()關閉程序,并釋放內存資源。exec_()方法有下劃線,是因為exec是一個Python關鍵詞。因此,在PyQt中使用exec_()代替。
4、一個最小的主程序代碼參考如下:
if __name__ == '__main__':
app = QtWidgets.QApplication(sys.argv)
w = w_ReadExecl()
w.show()
sys.exit(app.exec_())
總結
以上是生活随笔為你收集整理的python程序的基本框架_Python PyQt学习随笔:PyQt主程序的基本框架的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 初识 react
- 下一篇: 如何用计算机计算胸围,文胸尺码计算器