什么是pyQt5
首先我們來說說什么是pyQt5。
搞過GUI界面設計的童鞋一定都了解過微軟的MFC。當然了,個人感覺MFC不是一個非常優(yōu)雅的UI分開發(fā)工具,不過設計起來也是真的比較方便,主要原因就是做起界面來就是畫圖。
現在為了寫算法方便轉戰(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” 中會出現 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_())
三、 給生成的按鈕實現彈窗功能
比如說我們要給其中一個按鈕實現一個 點擊彈窗的功能, 具體做法是,先自定義一個新的類myWindow,該類繼承自QtWidgets.Qwidget類方法和Ui_Dialog界面類,在 __ init __ 函數里面定義初始化的信息。
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) # 連接到定義的槽函數 self.pushButton.clicked.connect(self.popUpBox) # 定義一個槽函數用來彈出子窗口 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)境搭建的實現步驟(圖文)的文章就介紹到這了,更多相關PyQt5+pycharm環(huán)境搭建內容請搜索服務器之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持服務器之家!
原文鏈接:https://blog.csdn.net/luanfenlian0992/article/details/121507350