摘要:庫是目前最強(qiáng)大的庫之一。是一組命令行參數(shù)的列表。可以在里運(yùn)行,這個(gè)參數(shù)提供對腳本控制的功能。默認(rèn)情況下,構(gòu)造器是沒有父級(jí)的,沒有父級(jí)的構(gòu)造器被稱為窗口。主循環(huán)從窗口上接收事件,并把事件傳入到派發(fā)到應(yīng)用控件里。方法能確保主循環(huán)安全退出。
0.環(huán)境
操作系統(tǒng):Windows
Python版本:3.6.0
1.前言PyQt是一個(gè)創(chuàng)建GUI應(yīng)用程序的工具包。它是Python編程語言和Qt庫的成功融合。Qt庫是目前最強(qiáng)大的庫之一。
2.效果圖 3.環(huán)境安裝 3.1 依賴包安裝pip install pyqt5 pip install pyqt5-tools3.2 圖形設(shè)計(jì)界面工具
同學(xué)們?nèi)绻枰猶t的圖形設(shè)計(jì)界面,可以使用Pycharm+Python3+PyQt5+QtDesigner的方式搭建。QtDesigner可以直接拖控件設(shè)計(jì)ui,非常方便。
搭建方法詳見:https://www.jianshu.com/p/094...
QtDesigner下載鏈接:https://download.qt.io/archiv...
裝完以后效果大概就像下面這樣:
注:Pycharm+Python3+PyQt5+QtDesigner環(huán)境搭建有些復(fù)雜,筆者也花了不少時(shí)間去研究怎么安裝。限于篇幅,這里不方便展開來講。反正還是一句話,要善于使用搜索引擎。
4.PyQt5的基本使用 4.1 hello worldimport sys from PyQt5.QtWidgets import QApplication, QWidget if __name__ == "__main__": app = QApplication(sys.argv) w = QWidget() w.resize(250, 150) w.move(300, 300) w.setWindowTitle("Simple") w.show() sys.exit(app.exec_())4.2 hello world代碼詳解
筆者這邊來一句句解釋一下:
import sys from PyQt5.QtWidgets import QApplication, QWidget
引入了PyQt5.QtWidgets模塊,這個(gè)模塊包含了基本的組件。
app = QtGui.QApplication(sys.argv)
每個(gè)PyQt5應(yīng)用都必須創(chuàng)建一個(gè)應(yīng)用對象。sys.argv是一組命令行參數(shù)的列表。Python可以在shell里運(yùn)行,這個(gè)參數(shù)提供對腳本控制的功能。
w = QtGui.QWidget()
QWidge控件是一個(gè)用戶界面的基本控件,它提供了基本的應(yīng)用構(gòu)造器。默認(rèn)情況下,構(gòu)造器是沒有父級(jí)的,沒有父級(jí)的構(gòu)造器被稱為窗口(window)。
w.resize(250, 150)
resize()方法能改變控件的大小,這里的意思是窗口寬250px,高150px。
w.move(300, 300)
move()是修改控件位置的的方法。它把控件放置到屏幕坐標(biāo)的(300, 300)的位置。
注:屏幕坐標(biāo)系的原點(diǎn)是屏幕的左上角。
w.setWindowTitle("Simple")
我們給這個(gè)窗口添加了一個(gè)標(biāo)題,在標(biāo)題欄展示。
w.show()
show()能讓控件在桌面上顯示出來。控件在內(nèi)存里創(chuàng)建,之后才能在顯示器上顯示出來。
sys.exit(app.exec_())
最后,我們進(jìn)入了應(yīng)用的主循環(huán)中,事件處理器這個(gè)時(shí)候開始工作。主循環(huán)從窗口上接收事件,并把事件傳入到派發(fā)到應(yīng)用控件里。當(dāng)調(diào)用exit()方法或直接銷毀主控件時(shí),主循環(huán)就會(huì)結(jié)束。
sys.exit()方法能確保主循環(huán)安全退出。外部環(huán)境能通知主控件怎么結(jié)束。
5.彈窗程序?qū)崿F(xiàn)邏輯大概分為以下兩步:
初始化ui(包括窗口位置,大小,圖標(biāo),點(diǎn)擊按鈕等)
在初始化ui方法中調(diào)用點(diǎn)擊事件
6.總結(jié)想要熟練使用PyQt,還是需要深入研究下這個(gè)庫的使用,筆者這里只是拋磚引玉。
關(guān)注公眾號(hào)「Python專欄」,后臺(tái)回復(fù):zsxq06,獲取本文全套代碼。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/43476.html
showImg(https://segmentfault.com/img/bVWOEd?w=900&h=385); 闊別已久的社區(qū)訪談?dòng)蛛p叒叕和大家見面來,介紹我們這次嘉賓之前,清蒸先來簡單地說下以后的社區(qū)專訪將會(huì)加入的兩個(gè)小模塊:訪談嘉賓的優(yōu)質(zhì)內(nèi)容以及為期一個(gè)星期的提問時(shí)間,在本文發(fā)布這天開始計(jì)時(shí),在接下來的一個(gè)星期,你們可以對專訪嘉賓進(jìn)行提問,唔,注意提問姿勢(太過八卦的就不會(huì)給予回復(fù)啦(//...
showImg(https://segmentfault.com/img/bVWOEd?w=900&h=385); 闊別已久的社區(qū)訪談?dòng)蛛p叒叕和大家見面來,介紹我們這次嘉賓之前,清蒸先來簡單地說下以后的社區(qū)專訪將會(huì)加入的兩個(gè)小模塊:訪談嘉賓的優(yōu)質(zhì)內(nèi)容以及為期一個(gè)星期的提問時(shí)間,在本文發(fā)布這天開始計(jì)時(shí),在接下來的一個(gè)星期,你們可以對專訪嘉賓進(jìn)行提問,唔,注意提問姿勢(太過八卦的就不會(huì)給予回復(fù)啦(//...
閱讀 1186·2023-04-26 00:34
閱讀 3362·2023-04-25 16:47
閱讀 2129·2021-11-24 11:14
閱讀 3112·2021-09-26 09:55
閱讀 3737·2019-08-30 15:56
閱讀 3223·2019-08-29 16:57
閱讀 1915·2019-08-26 13:38
閱讀 2673·2019-08-26 12:22