PyQt5之基礎框架解讀
PyQt5基礎框架
前幾天為了自己搞一個光學仿真集成GUI界面,于是去研究了一下PyQt5
不得不說這個模塊的使用性遠遠超過了tkinter,強烈推薦,于是準備出一個專欄,記錄一下PyQt5學習中遇到的小問題。
這篇先來說說PyQt5創(chuàng)建時候的基礎框架。
代碼如下
# -*- coding:utf-8 -*-
import sys
from PyQt5.QtWidgets import QMainWindow, QApplication
class MainWindow(QMainWindow):
def __init__(self, parent=None):
super(MainWindow, self).__init__(parent)
self.resize(600, 300)
self.status = self.statusBar()
self.status.showMessage("這是狀態(tài)提示", 10000)
self.setWindowTitle("MainWindow界面")
if __name__ == '__main__':
app = QApplication(sys.argv)
window = MainWindow()
window.show()
sys.exit(app.exec_())
以上就是我們PyQt5主界面的基本框架了,先創(chuàng)建一個類,使用這個類對QMainWindow類進行繼承。
其他語句的解釋
self.resize(600,300):對MainWindow進行尺寸調整,橫向600個像素點,縱向300個像素點。self.status = self.statusBar():創(chuàng)建一個狀態(tài)欄對象self.status.showMessage("這是狀態(tài)提示", 10000):顯示狀態(tài)欄信息10000毫秒,即10秒鐘, 其中第一個字符串參數(shù)"這是狀態(tài)提示"是最終顯示在狀態(tài)欄的信息,我們可以自由替換。注意:只有
當我們的鼠標在MainWindow窗口內懸停的時候才會顯示該狀態(tài)信息,并且如果我們想要狀態(tài)欄一直顯示某個信息提示,可以將第二個參數(shù)的10000改為-1即可。
self.setWindowTitle("MainWindow界面"):設定MainWindow主界面的名稱。app = QApplication(sys.argv):初始化PyQt5中的各個部分,之后我們就可以調用模塊中的各個元素。類似與Pygame模塊中的Initialization部分。sys.argv:這個語句存在僅僅是為了將來我們可以在命令行中寫入?yún)?shù)進行讀取,如果我們不考慮在命令行中進行直接調用,可以將初始化程序改為app = QApplication([])。window = MainWindow():實例化我們定義好的窗口類對象。window.show():這句話必須存在,否則運行時我們寫好的Gui界面不會顯示。用來顯示我們寫好的Gui界面。sys.exit(app.exec_()):sys.exit()表示退出程序操作,app.exec_()類似于tkinter模塊中定義Gui界面時進行的Mainloop(),即開始執(zhí)行主循環(huán)體,配合sys.exit()退出命令可以在我們退出程序時清空內存,達到潔凈模式。
最終運行后的效果
如下:

PyQt5框架BUG

如圖所示TreeWidget, 添加了事件監(jiān)聽itemSelectionChanged, 當點擊port行不松開鼠標, 鼠標挪動到items后, 觸發(fā)的是port行的事件, 光標卻是停留在items, 然后再點擊items時, 不會觸發(fā)新的事件
總結
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
用python實現(xiàn)監(jiān)控視頻人數(shù)統(tǒng)計
今天教各位小伙伴學習怎么用python實現(xiàn)監(jiān)控視頻人數(shù)統(tǒng)計,文中有非常詳細的代碼示例,對正在學習python的小伙伴有很大的幫助,需要的朋友可以參考下2021-05-05
python3之模塊psutil系統(tǒng)性能信息使用
psutil是個跨平臺庫,能夠輕松實現(xiàn)獲取系統(tǒng)運行的進程和系統(tǒng)利用率,這篇文章主要介紹了python3之模塊psutil系統(tǒng)性能信息使用,感興趣的小伙伴們可以參考一下2018-05-05

