Python編寫可視化界面的詳細(xì)教程(Python+PyCharm+PyQt)
1、前言
PyQt的版本需要與Python的版本保持一致,在這里我用的PyQT的版本是 PyQt5-5.6-gpl-Py3.5-Qt5.6.0-x64.exe,具體下載方式,請(qǐng)直接搜索。由于該版本需要v3.5版本的Python,所以首先需要安裝Python3.5,然后安裝PyQt,為了更加方便的寫代碼,故安裝了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、開始
1)、打開PyCharm并配置相關(guān)設(shè)置
打開PyCharm界面如下:
點(diǎn)擊界面右下方的“Configure”下拉按鈕,選擇“Settings”,如下所示:
打開如下設(shè)置界面:
如上圖所示,在“Project Interpreter”選顯卡中選擇本機(jī)所安裝的Python版本,一般情況下,它會(huì)自動(dòng)識(shí)別本機(jī)所安裝的Python版本,如圖所示,選擇的為Python3.5;
配置完成之后,點(diǎn)擊“OK”,返回開始界面,
選擇“Create New Project”,選擇工程路徑和工程的名稱,然后點(diǎn)擊"Create",然后彈出如下界面:
此時(shí),工作環(huán)境已準(zhǔn)備完畢;
3、編寫
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ù)中打開了一個(gè)標(biāo)準(zhǔn)輸入窗口,并將標(biāo)準(zhǔn)輸入窗口中輸入的值顯示到編輯框(le)中。
結(jié)果:
4、擴(kuò)展
在接下來(lái)做了一個(gè)更加復(fù)雜的例子,主要是模擬匯率的解算,界面主要如下所示:
其中主要涉及了按鈕、編輯框、Label、布局等 。
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)參考Python matplotlib安裝和使用的完整教程_python_腳本之家 (jb51.net)
把下載的PyQt5-5.11.3-5.11.2-cp35.cp36.cp37.cp38-none-win_amd64.whl文件放置到合適的位置。
打開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中打開終端,直接輸入:
$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)題。
以上就是Python編寫可視化界面的詳細(xì)教程(Python+PyCharm+PyQt)的詳細(xì)內(nèi)容,更多關(guān)于Python編寫可視化界面的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Python的五個(gè)標(biāo)準(zhǔn)數(shù)據(jù)類型你認(rèn)識(shí)幾個(gè)
這篇文章主要為大家詳細(xì)介紹了Python標(biāo)準(zhǔn)數(shù)據(jù)類型,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助2022-03-03使用SQLAlchemy操作數(shù)據(jù)庫(kù)表過(guò)程解析
這篇文章主要介紹了使用SQLAlchemy操作數(shù)據(jù)庫(kù)表過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-06-06python pandas消除空值和空格以及 Nan數(shù)據(jù)替換方法
今天小編就為大家分享一篇python pandas消除空值和空格以及 Nan數(shù)據(jù)替換方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-10-10在Python的Django框架下使用django-tagging的教程
這篇文章主要介紹了在Python的Django框架下使用django-tagging的教程,針對(duì)網(wǎng)絡(luò)編程中的tag部分功能提供幫助,需要的朋友可以參考下2015-05-05python numpy數(shù)組中的復(fù)制知識(shí)解析
這篇文章主要介紹了python numpy數(shù)組中的復(fù)制知識(shí)解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-02-02