PyQt5+pycharm開發(fā)環(huán)境搭建的實現(xiàn)步驟(圖文)
什么是pyQt5
首先我們來說說什么是pyQt5。
搞過GUI界面設計的童鞋一定都了解過微軟的MFC。當然了,個人感覺MFC不是一個非常優(yōu)雅的UI分開發(fā)工具,不過設計起來也是真的比較方便,主要原因就是做起界面來就是畫圖。
現(xiàn)在為了寫算法方便轉戰(zhàn)了python,又沒有學到混合編程的地步,那么在python環(huán)境下有沒有這樣的開發(fā)工具呢?
pyQt就是這樣的一個工具
要說pyQt,就必須從QT說起。QT是一個用C/C++編寫的,跨平臺的GUI庫,支持目前主流的操作系統(tǒng)Windows,MacOS X和Linux。QT是由挪威的一家公司Trolltech開發(fā)的,此公司2008年6月被大名鼎鼎的Nokia收購,2012年8月芬蘭公司Digia從Nokia收購了QT的所有業(yè)務。
而python作為注明的膠水語言,這么一個強大好用的GUI庫怎么能不收入囊中呢?于是pyQt就誕生了。它可以吧用QTDesigner制作的GUI界面轉換成python語言接口,使用python來調用,于是我們可以通過高效的python,而不是C++,去開發(fā)我們的GUI界面了。
于是,pyQt容納了C++底層開發(fā)的告訴,以及python接口調用的高效。
一句話概括一次啊,pyQt是使用python去調用繪制好的GUI界面的庫
而對于pyQt5,就是pyQt的第5個版本啦。注意了,它是不向下兼容的,不過吧pyQt4的代碼改成pyQt5可用的程序也并不難,主要是幾個新增的功能修改寫法罷了。
安裝pyqt5環(huán)境:
pip install PyQt5 pip install PyQt5-tools
一、 pycharm環(huán)境準備
1. 在Pycharm中點擊 “file”—>“Settings” 選項

2. 在彈出的界面上點擊 “Tools” —> “External Tools”

3. 點擊 “+” 彈出Create Tool界面,按照如下方式設置 QtDesigner :
Name:QtDesigner
Program:designer.exe所在的路徑
Working directory:$ProjectFileDir$

4. 點擊 “+” 彈出Create Tool界面,按照如下方式設置 PyUIC:
Name:PyUIC
Program:填入python.exe的路徑
Arguments:-m PyQt5.uic.pyuic $FileName$ -o $FileNameWithoutExtension$.py
Working directory:$FileDir$

5. 點擊 “+” 彈出Create Tool界面,按照如下方式設置 PyRCC:
Name:PyRCC
Program:填入python.exe的路徑
Arguments:$FileName$ -o $FileNameWithoutExtension$_rc.py
Working directory:$FileDir$

二、 編寫界面并運行
1. 啟動qt designer,設計界面
上述設置完之后在菜單欄中的 “Tools” 中會出現(xiàn) External Tools 選項,點擊 Qtdesigner 彈出設計界面。


選擇其中一個選項,點擊 “創(chuàng)建”,這里創(chuàng)建了三個 按鈕 和 三個 下拉框用來測試。創(chuàng)建完后,點擊 保存。

2. 編譯ui文件
選擇新生成的 test.ui 文件, 右擊選擇 “External Tools” 中的 “PyUIC”,生成相應的 test.py 文件。


3. 運行界面
新創(chuàng)建一個 py 文件,將下面的代碼復制到在這個文件中,點擊運行,即可彈出設計的界面。

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_())
三、 給生成的按鈕實現(xiàn)彈窗功能
比如說我們要給其中一個按鈕實現(xiàn)一個 點擊彈窗的功能, 具體做法是,先自定義一個新的類myWindow,該類繼承自QtWidgets.Qwidget類方法和Ui_Dialog界面類,在 __ init __ 函數(shù)里面定義初始化的信息。
import sys
from test import Ui_Form
from PyQt5.QtWidgets import QApplication, QDialog, QWidget
from PyQt5 import QtCore
# 子窗口類
class Child(QWidget):
def __init__(self):
super().__init__()
self.setWindowTitle("我是子窗口啊")
# 該類繼承QtWidgets.Qwidget類方法和Ui_Dialog界面類
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)
# 定義一個槽函數(shù)用來彈出子窗口
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_())
效果如下,點擊測試按鈕1,彈出窗口界面。

到此這篇關于PyQt5+pycharm開發(fā)環(huán)境搭建的實現(xiàn)步驟(圖文)的文章就介紹到這了,更多相關PyQt5+pycharm環(huán)境搭建內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Django接收post前端返回的json格式數(shù)據(jù)代碼實現(xiàn)
這篇文章主要介紹了Django接收post前端返回的json格式數(shù)據(jù)代碼實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2019-07-07
可用于監(jiān)控 mysql Master Slave 狀態(tài)的python代碼
用于監(jiān)控MySQL Master Slave 狀態(tài)的python代碼,有需要的朋友可以參考下2013-02-02
使用 Python 實現(xiàn)微信消息的一鍵已讀的思路代碼
利用python可以實現(xiàn)微信消息的一鍵已讀功能,怎么實現(xiàn)呢?你肯定會想著很復雜,但是python的好處就是很多人已經(jīng)把接口打包做好了,只需要調用即可,今天通過本文給大家分享使用 Python 實現(xiàn)微信消息的一鍵已讀的思路代碼,一起看看吧2021-06-06

