PyQt5+pycharm開(kāi)發(fā)環(huán)境搭建的實(shí)現(xiàn)步驟(圖文)
什么是pyQt5
首先我們來(lái)說(shuō)說(shuō)什么是pyQt5。
搞過(guò)GUI界面設(shè)計(jì)的童鞋一定都了解過(guò)微軟的MFC。當(dāng)然了,個(gè)人感覺(jué)MFC不是一個(gè)非常優(yōu)雅的UI分開(kāi)發(fā)工具,不過(guò)設(shè)計(jì)起來(lái)也是真的比較方便,主要原因就是做起界面來(lái)就是畫(huà)圖。
現(xiàn)在為了寫(xiě)算法方便轉(zhuǎn)戰(zhàn)了python,又沒(méi)有學(xué)到混合編程的地步,那么在python環(huán)境下有沒(méi)有這樣的開(kāi)發(fā)工具呢?
pyQt就是這樣的一個(gè)工具
要說(shuō)pyQt,就必須從QT說(shuō)起。QT是一個(gè)用C/C++編寫(xiě)的,跨平臺(tái)的GUI庫(kù),支持目前主流的操作系統(tǒng)Windows,MacOS X和Linux。QT是由挪威的一家公司Trolltech開(kāi)發(fā)的,此公司2008年6月被大名鼎鼎的Nokia收購(gòu),2012年8月芬蘭公司Digia從Nokia收購(gòu)了QT的所有業(yè)務(wù)。
而python作為注明的膠水語(yǔ)言,這么一個(gè)強(qiáng)大好用的GUI庫(kù)怎么能不收入囊中呢?于是pyQt就誕生了。它可以吧用QTDesigner制作的GUI界面轉(zhuǎn)換成python語(yǔ)言接口,使用python來(lái)調(diào)用,于是我們可以通過(guò)高效的python,而不是C++,去開(kāi)發(fā)我們的GUI界面了。
于是,pyQt容納了C++底層開(kāi)發(fā)的告訴,以及python接口調(diào)用的高效。
一句話(huà)概括一次啊,pyQt是使用python去調(diào)用繪制好的GUI界面的庫(kù)
而對(duì)于pyQt5,就是pyQt的第5個(gè)版本啦。注意了,它是不向下兼容的,不過(guò)吧pyQt4的代碼改成pyQt5可用的程序也并不難,主要是幾個(gè)新增的功能修改寫(xiě)法罷了。
安裝pyqt5環(huán)境:
pip install PyQt5 pip install PyQt5-tools
一、 pycharm環(huán)境準(zhǔn)備
1. 在Pycharm中點(diǎn)擊 “file”—>“Settings” 選項(xiàng)
2. 在彈出的界面上點(diǎn)擊 “Tools” —> “External Tools”
3. 點(diǎn)擊 “+” 彈出Create Tool界面,按照如下方式設(shè)置 QtDesigner :
Name:QtDesigner
Program:designer.exe所在的路徑
Working directory:$ProjectFileDir$
4. 點(diǎn)擊 “+” 彈出Create Tool界面,按照如下方式設(shè)置 PyUIC:
Name:PyUIC
Program:填入python.exe的路徑
Arguments:-m PyQt5.uic.pyuic $FileName$ -o $FileNameWithoutExtension$.py
Working directory:$FileDir$
5. 點(diǎn)擊 “+” 彈出Create Tool界面,按照如下方式設(shè)置 PyRCC:
Name:PyRCC
Program:填入python.exe的路徑
Arguments:$FileName$ -o $FileNameWithoutExtension$_rc.py
Working directory:$FileDir$
二、 編寫(xiě)界面并運(yùn)行
1. 啟動(dòng)qt designer,設(shè)計(jì)界面
上述設(shè)置完之后在菜單欄中的 “Tools” 中會(huì)出現(xiàn) External Tools 選項(xiàng),點(diǎn)擊 Qtdesigner 彈出設(shè)計(jì)界面。
選擇其中一個(gè)選項(xiàng),點(diǎn)擊 “創(chuàng)建”,這里創(chuàng)建了三個(gè) 按鈕 和 三個(gè) 下拉框用來(lái)測(cè)試。創(chuàng)建完后,點(diǎn)擊 保存。
2. 編譯ui文件
選擇新生成的 test.ui 文件, 右擊選擇 “External Tools” 中的 “PyUIC”,生成相應(yīng)的 test.py 文件。
3. 運(yùn)行界面
新創(chuàng)建一個(gè) py 文件,將下面的代碼復(fù)制到在這個(gè)文件中,點(diǎn)擊運(yùn)行,即可彈出設(shè)計(jì)的界面。
import sys import test from PyQt5.QtWidgets import QApplication, QDialog if __name__ == '__main__': myapp = QApplication(sys.argv) myDlg = QDialog() myUI = test.Ui_Form() myUI.setupUi(myDlg) myDlg.show() sys.exit(myapp.exec_())
三、 給生成的按鈕實(shí)現(xiàn)彈窗功能
比如說(shuō)我們要給其中一個(gè)按鈕實(shí)現(xiàn)一個(gè) 點(diǎn)擊彈窗的功能, 具體做法是,先自定義一個(gè)新的類(lèi)myWindow,該類(lèi)繼承自QtWidgets.Qwidget類(lèi)方法和Ui_Dialog界面類(lèi),在 __ init __ 函數(shù)里面定義初始化的信息。
import sys from test import Ui_Form from PyQt5.QtWidgets import QApplication, QDialog, QWidget from PyQt5 import QtCore # 子窗口類(lèi) class Child(QWidget): def __init__(self): super().__init__() self.setWindowTitle("我是子窗口啊") # 該類(lèi)繼承QtWidgets.Qwidget類(lèi)方法和Ui_Dialog界面類(lèi) class myWindow(QWidget, Ui_Form): _signal = QtCore.pyqtSignal(str) def __init__(self): super(myWindow, self).__init__() self.setupUi(self) # 連接到定義的槽函數(shù) self.pushButton.clicked.connect(self.popUpBox) # 定義一個(gè)槽函數(shù)用來(lái)彈出子窗口 def popUpBox(self): self.child_window = Child() self.child_window.show() if __name__ == '__main__': myapp = QApplication(sys.argv) myDlg = myWindow() # myUI = myDlg.Ui_Form() # myUI.setupUi(myDlg) myDlg.show() sys.exit(myapp.exec_())
效果如下,點(diǎn)擊測(cè)試按鈕1,彈出窗口界面。
到此這篇關(guān)于PyQt5+pycharm開(kāi)發(fā)環(huán)境搭建的實(shí)現(xiàn)步驟(圖文)的文章就介紹到這了,更多相關(guān)PyQt5+pycharm環(huán)境搭建內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Django接收post前端返回的json格式數(shù)據(jù)代碼實(shí)現(xiàn)
這篇文章主要介紹了Django接收post前端返回的json格式數(shù)據(jù)代碼實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-07-07可用于監(jiān)控 mysql Master Slave 狀態(tài)的python代碼
用于監(jiān)控MySQL Master Slave 狀態(tài)的python代碼,有需要的朋友可以參考下2013-02-02使用 Python 實(shí)現(xiàn)微信消息的一鍵已讀的思路代碼
利用python可以實(shí)現(xiàn)微信消息的一鍵已讀功能,怎么實(shí)現(xiàn)呢?你肯定會(huì)想著很復(fù)雜,但是python的好處就是很多人已經(jīng)把接口打包做好了,只需要調(diào)用即可,今天通過(guò)本文給大家分享使用 Python 實(shí)現(xiàn)微信消息的一鍵已讀的思路代碼,一起看看吧2021-06-06Django基礎(chǔ)知識(shí)與基本應(yīng)用入門(mén)教程
這篇文章主要介紹了Django基礎(chǔ)知識(shí)與基本應(yīng)用,結(jié)合實(shí)例形式分析了Django框架基本的項(xiàng)目創(chuàng)建、啟動(dòng)、查看版本等操作,并結(jié)合一個(gè)簡(jiǎn)單的blog應(yīng)用示例分析了Django的基本使用方法,需要的朋友可以參考下2018-07-07