Python編寫(xiě)可視化界面的全過(guò)程(Python+PyCharm+PyQt)
最近開(kāi)始學(xué)習(xí)Python,但只限于看理論,編幾行代碼,覺(jué)得沒(méi)有意思,就想能不能用Python編寫(xiě)可視化的界面。遂查找了相關(guān)資料,發(fā)現(xiàn)了PyQt,由于前一段時(shí)間剛看過(guò)Qt,而且對(duì)Qt的印象很好,于是覺(jué)得用PyQt應(yīng)該是一個(gè)比較愉快的選擇。
1、前言
PyQt的版本需要與Python的版本保持一致,在這里我用的PyQT的版本是 PyQt5-5.6-gpl-Py3.5-Qt5.6.0-x64.exe,具體下載方式,請(qǐng)直接搜索。由于該版本需要v3.5版本的Python,所以首先需要安裝Python3.5,然后安裝PyQt,為了更加方便的寫(xiě)代碼,故安裝了Pycharm,版本為pycharm-community-2017.3.2.exe。具體的下載、安裝,網(wǎng)上有很多教程,在這里就不多做描述,請(qǐng)自行搜索,下面就先介紹基于Pycharm+Python3.5+PyQt5.6的Python可視化編程。文末還會(huì)介紹一下基于最新版本的Pycharm2018.3+Python3.7+PyQt5.11的Python可視化編程。
2、開(kāi)始
1)、打開(kāi)PyCharm并配置相關(guān)設(shè)置
打開(kāi)PyCharm界面如下:
點(diǎn)擊界面右下方的“Configure”下拉按鈕,選擇“Settings”,如下所示:
打開(kāi)如下設(shè)置界面:
如上圖所示,在“Project Interpreter”選顯卡中選擇本機(jī)所安裝的Python版本,一般情況下,它會(huì)自動(dòng)識(shí)別本機(jī)所安裝的Python版本,如圖所示,選擇的為Python3.5;
配置完成之后,點(diǎn)擊“OK”,返回開(kāi)始界面,
選擇“Create New Project”,選擇工程路徑和工程的名稱,然后點(diǎn)擊"Create",然后彈出如下界面:
此時(shí),工作環(huán)境已準(zhǔn)備完畢;
3、編寫(xiě)
1)、首先,創(chuàng)建一個(gè).py文件,暫命名為PyQt.py
2)、其次,需要導(dǎo)入PyQt的文件如下所示:
import sys from PyQt5.QtWidgets import QWidget, QApplication
注意,如果提示找不到對(duì)應(yīng)文件,請(qǐng)確保PyQt5的安裝路徑在環(huán)境變量中!
然后先添加主函數(shù):
if __name__ == "__main__": app = QApplication(sys.argv) sys.exit(app.exec_())
接下來(lái)就需要添加界面相關(guān)函數(shù):
#class Example class Example(QWidget): def __init__(self): super(Example, self).__init__() self.InitUI() def InitUI(self): self.btn = QPushButton("Dialog", self) self.btn.move(20, 20) self.btn.clicked.connect(self.ShowDialog) self.le = QLineEdit(self) self.le.move(130, 22) self.setWindowTitle("Input Dialog") self.show() def ShowDialog(self): text,ok = QInputDialog.getText(self, "Input Dialog", "Enter your name:") if ok: self.le.setText(str(text))
如上代碼所示,在Python中主要是通過(guò)類來(lái)生成界面的,在類中,可以進(jìn)行界面的生成,控件的創(chuàng)建,創(chuàng)建控件的響應(yīng)函數(shù),connect控件與控件響應(yīng)函數(shù)。
其中函數(shù) __init__(self) 可以理解為該類的構(gòu)造函數(shù),其中界面的初始化在該部分執(zhí)行;
函數(shù) InitUI(self) 主要是生成界面控件;
當(dāng)類創(chuàng)建完成后,只需要在主函數(shù)中調(diào)用該類即可。如下所示:
if __name__ == "__main__": app = QApplication(sys.argv) ex = Example() sys.exit(app.exec_())
在以上的代碼中,主要是在界面中添加了一個(gè)按鈕(btn),一個(gè)編輯框(le),一個(gè)按鈕響應(yīng)函數(shù)(ShowDialog),其中在ShowDialog響應(yīng)函數(shù)中打開(kāi)了一個(gè)標(biāo)準(zhǔn)輸入窗口,并將標(biāo)準(zhǔn)輸入窗口中輸入的值顯示到編輯框(le)中。
結(jié)果:
4、擴(kuò)展
在接下來(lái)做了一個(gè)更加復(fù)雜的例子,主要是模擬匯率的解算,界面主要如下所示:
其中主要涉及了按鈕、編輯框、Label、布局等 ,
與第一個(gè)例子寫(xiě)在了同一個(gè)文件中,可點(diǎn)擊一下鏈接下載:點(diǎn)擊下載
5、最新版本配置方法
采用最新版本的Python、PyQt、Pycharm配置可視化編程環(huán)境。
首先先安裝Python3.7,然后安裝Pycharm2018.3,并配置python解釋器為Python3.7的本地目錄,接下來(lái)就是安裝PyQt5.11。
安裝PyQt5.11是采用pip+wheel文件安裝的形式,下載網(wǎng)址:https://pypi.org/project/PyQt5/#files
關(guān)于pip的安裝請(qǐng)參考http://www.dbjr.com.cn/article/200839.htm
把下載的PyQt5-5.11.3-5.11.2-cp35.cp36.cp37.cp38-none-win_amd64.whl文件放置到合適的位置。
打開(kāi)CMD,按照以下形式輸入安裝命令:
回車,pip就會(huì)自動(dòng)安裝該文件了:
此時(shí)PyQt5.11就安裝成功了。
可以通過(guò)以上的代碼進(jìn)行測(cè)試。
6、Ubuntu下python2.7安裝pyqt5
上面記錄的都是在windows+python3環(huán)境下pyqt5的安裝。由于工作需要,需要在Ubuntu+python2.7環(huán)境下安裝pyqt5,根據(jù)pyqt5的官網(wǎng),pyqt5只有針對(duì)python3的安裝包,而沒(méi)有python2.7的,所以可以通過(guò)在線安裝的方式安裝,下面是Ubuntu+python2.7環(huán)境下pyqt5的安裝:
在ubuntu中打開(kāi)終端,直接輸入:
$sudo apt-get install python-pyqt5
即可,安裝完成之后,直接在代碼編輯頁(yè)面import PyQt5即可,親測(cè)可用。
另外,上面這種方式好像還可以用于ubuntu+python3環(huán)境下pyqt5的安裝,也是通過(guò)命令安裝:
$sudo apt-get install python3-pyqt5
上面未經(jīng)測(cè)試,但是應(yīng)該沒(méi)問(wèn)題。
總結(jié)
到此這篇關(guān)于Python編寫(xiě)可視化界面(Python+PyCharm+PyQt)的文章就介紹到這了,更多相關(guān)Python編寫(xiě)可視化界面內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python使用dis模塊把Python反編譯為字節(jié)碼的用法詳解
通常來(lái)說(shuō)Python的性能或代碼質(zhì)量的評(píng)估可以通過(guò)dis模塊獲取到對(duì)應(yīng)的字節(jié)碼指令來(lái)進(jìn)行評(píng)估,因而這里我們就來(lái)看一下Python使用dis模塊把Python反編譯為字節(jié)碼的用法詳解:2016-06-06Python實(shí)現(xiàn)快速替換Word文檔中的關(guān)鍵字
使用Python自動(dòng)化處理Word文檔可以幫助您提高效率,并減少手動(dòng)處理文檔所需的時(shí)間和精力,所以本文為大家準(zhǔn)備了Python快速替換Word文檔中的關(guān)鍵字的方法,希望對(duì)大家有所幫助2023-06-06淺談keras中的Merge層(實(shí)現(xiàn)層的相加、相減、相乘實(shí)例)
這篇文章主要介紹了淺談keras中的Merge層(實(shí)現(xiàn)層的相加、相減、相乘實(shí)例),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-05-05使用GitHub和Python實(shí)現(xiàn)持續(xù)部署的方法
這篇文章主要介紹了使用GitHub和Python實(shí)現(xiàn)持續(xù)部署的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-05-05關(guān)于數(shù)據(jù)分析之滾動(dòng)窗口pandas.DataFrame.rolling方法
Pandas庫(kù)中的rolling方法是數(shù)據(jù)處理中常用的功能,它允許用戶對(duì)數(shù)據(jù)進(jìn)行滾動(dòng)窗口(滑動(dòng)窗口)操作,通過(guò)指定窗口大小,可以使用不同的聚合函數(shù)對(duì)窗口內(nèi)的數(shù)據(jù)進(jìn)行計(jì)算,例如最大值、最小值、平均值、中位數(shù)等,此外,rolling方法還可以計(jì)算方差、標(biāo)準(zhǔn)差、偏度、峰度2024-09-09PyCharm配置anaconda環(huán)境的步驟詳解
PyCharm是一款很好用很流行的python編輯器。Anaconda通過(guò)管理工具包、開(kāi)發(fā)環(huán)境、Python版本,大大簡(jiǎn)化了你的工作流程。今天通過(guò)本文給大家分享PyCharm配置anaconda環(huán)境,感興趣的朋友一起看看吧2020-07-07python基于爬蟲(chóng)+django,打造個(gè)性化API接口
這篇文章主要介紹了python基于爬蟲(chóng)+django,打造個(gè)性化API接口的方法,幫助大家更好的理解和使用python,感興趣的朋友可以了解下2021-01-01Python 數(shù)據(jù)的累加與統(tǒng)計(jì)的示例代碼
這篇文章主要介紹了Python 數(shù)據(jù)的累加與統(tǒng)計(jì)的示例代碼,文中講解非常細(xì)致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下2020-08-08