PyQt5之基礎(chǔ)框架解讀
PyQt5基礎(chǔ)框架
前幾天為了自己搞一個(gè)光學(xué)仿真集成GUI
界面,于是去研究了一下PyQt5
不得不說(shuō)這個(gè)模塊的使用性遠(yuǎn)遠(yuǎn)超過(guò)了tkinter
,強(qiáng)烈推薦,于是準(zhǔn)備出一個(gè)專欄,記錄一下PyQt5
學(xué)習(xí)中遇到的小問(wèn)題。
這篇先來(lái)說(shuō)說(shuō)PyQt5
創(chuàng)建時(shí)候的基礎(chǔ)框架。
代碼如下
# -*- 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)建一個(gè)類,使用這個(gè)類對(duì)QMainWindow
類進(jìn)行繼承。
其他語(yǔ)句的解釋
self.resize(600,300)
:對(duì)MainWindow
進(jìn)行尺寸調(diào)整,橫向600
個(gè)像素點(diǎn),縱向300
個(gè)像素點(diǎn)。self.status = self.statusBar()
:創(chuàng)建一個(gè)狀態(tài)欄對(duì)象self.status.showMessage("這是狀態(tài)提示", 10000)
:顯示狀態(tài)欄信息10000
毫秒,即10
秒鐘, 其中第一個(gè)字符串參數(shù)"這是狀態(tài)提示"
是最終顯示在狀態(tài)欄的信息,我們可以自由替換。注意:只有
當(dāng)我們的鼠標(biāo)在MainWindow窗口內(nèi)懸停的時(shí)候才會(huì)顯示該狀態(tài)信息,并且如果我們想要狀態(tài)欄一直顯示某個(gè)信息提示,可以將第二個(gè)參數(shù)的10000改為-1即可。
self.setWindowTitle("MainWindow界面")
:設(shè)定MainWindow
主界面的名稱。app = QApplication(sys.argv)
:初始化PyQt5
中的各個(gè)部分,之后我們就可以調(diào)用模塊中的各個(gè)元素。類似與Pygame
模塊中的Initialization
部分。sys.argv
:這個(gè)語(yǔ)句存在僅僅是為了將來(lái)我們可以在命令行中寫入?yún)?shù)進(jìn)行讀取,如果我們不考慮在命令行中進(jìn)行直接調(diào)用,可以將初始化程序改為app = QApplication([])
。window = MainWindow()
:實(shí)例化我們定義好的窗口類對(duì)象。window.show()
:這句話必須存在,否則運(yùn)行時(shí)我們寫好的Gui
界面不會(huì)顯示。用來(lái)顯示我們寫好的Gui
界面。sys.exit(app.exec_())
:sys.exit()
表示退出程序操作,app.exec_()
類似于tkinter
模塊中定義Gui
界面時(shí)進(jìn)行的Mainloop()
,即開始執(zhí)行主循環(huán)體,配合sys.exit()
退出命令可以在我們退出程序時(shí)清空內(nèi)存,達(dá)到潔凈模式。
最終運(yùn)行后的效果
如下:
PyQt5框架BUG
如圖所示TreeWidget, 添加了事件監(jiān)聽itemSelectionChanged, 當(dāng)點(diǎn)擊port行不松開鼠標(biāo), 鼠標(biāo)挪動(dòng)到items后, 觸發(fā)的是port行的事件, 光標(biāo)卻是停留在items, 然后再點(diǎn)擊items時(shí), 不會(huì)觸發(fā)新的事件
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
深入探索Django中間件的應(yīng)用場(chǎng)景
Django中間件是一種可插拔的應(yīng)用程序組件,可在請(qǐng)求和響應(yīng)處理過(guò)程中修改Django的行為。中間件可用于處理請(qǐng)求、響應(yīng)、異常等,還可用于實(shí)現(xiàn)身份驗(yàn)證、緩存、性能監(jiān)控等常用功能。通過(guò)深入探索中間件的應(yīng)用場(chǎng)景,可以提高Django應(yīng)用程序的可擴(kuò)展性和靈活性2023-05-05Python異常對(duì)代碼運(yùn)行性能的影響實(shí)例解析
這篇文章主要介紹了Python異常對(duì)代碼運(yùn)行性能的影響實(shí)例解析,分享了相關(guān)代碼示例,小編覺得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下2018-02-02用python實(shí)現(xiàn)監(jiān)控視頻人數(shù)統(tǒng)計(jì)
今天教各位小伙伴學(xué)習(xí)怎么用python實(shí)現(xiàn)監(jiān)控視頻人數(shù)統(tǒng)計(jì),文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)python的小伙伴有很大的幫助,需要的朋友可以參考下2021-05-05python3之模塊psutil系統(tǒng)性能信息使用
psutil是個(gè)跨平臺(tái)庫(kù),能夠輕松實(shí)現(xiàn)獲取系統(tǒng)運(yùn)行的進(jìn)程和系統(tǒng)利用率,這篇文章主要介紹了python3之模塊psutil系統(tǒng)性能信息使用,感興趣的小伙伴們可以參考一下2018-05-05python else語(yǔ)句在循環(huán)中的運(yùn)用詳解
這篇文章主要介紹了python else語(yǔ)句在循環(huán)中的運(yùn)用詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07python關(guān)于變量名的基礎(chǔ)知識(shí)點(diǎn)
在本篇文章里小編給大家整理的是關(guān)于python關(guān)于變量名的基礎(chǔ)知識(shí)點(diǎn),需要的朋友們可以參考下。2020-03-03