網(wǎng)站如何做口碑營銷大數(shù)據(jù)
Python中經(jīng)常使用的GUI控件集有PyQt、Tkinter、wxPython、Kivy、PyGUI和Libavg。其中PyQt是Qt(c++語言實(shí)現(xiàn)的)為Python專門提供的擴(kuò)展
PyQt是一套Python的GUI開發(fā)框架,即圖形用戶界面開發(fā)框架.。而在Python中則使用PyQt這一工具包(PyQt5、PyQt5-tools、PyQt5-stubs),它是Python編程語言和Qt庫的成功融合。
一、PyQt安裝
pip install PyQt5 安裝PyQt5。
pip install PyQt5-tools 安裝Qt工具軟件。
pip install PyQt5-stubs 安裝PyQt5語法檢測包(可選)。
安裝完成之后可以在Python的安裝目錄/Lib/site-packages
中找到PyQt5目錄。
示例:
main.py文件
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QVBoxLayoutclass MyApp(QWidget):def __init__(self):super().__init__()self.initUI()def initUI(self):# 創(chuàng)建一個垂直布局layout = QVBoxLayout()# 創(chuàng)建一個標(biāo)簽,并設(shè)置文本內(nèi)容label = QLabel("Hello, World!")# 將標(biāo)簽添加到布局中l(wèi)ayout.addWidget(label)# 設(shè)置窗口的布局self.setLayout(layout)# 設(shè)置窗口的大小self.setGeometry(300, 300, 300, 150)# 設(shè)置窗口的標(biāo)題self.setWindowTitle('Hello World')# 顯示窗口self.show()# 創(chuàng)建應(yīng)用程序?qū)ο?app = QApplication(sys.argv)# 創(chuàng)建實(shí)例
ex = MyApp()# 進(jìn)入應(yīng)用程序的主循環(huán),等待事件處理
sys.exit(app.exec_())
執(zhí)行命令:python main.py
運(yùn)行過程中,如果出現(xiàn)下列錯誤。
1、ModuleNotFoundError: No module named 'PyQt5'
說明沒有PyQt5安裝或安裝成功,解決方法:安裝PyQt5
pip install PyQt5 -i https://pypi.tuna.tsinghua.edu.cn/simple
2、ImportError: DLL load failed while importing QtWidgets: 找不到指定的程序。
先卸載PyQt5,再安裝PyQt5。
pip uninstall PyQt5
pip install PyQt5 -i https://pypi.tuna.tsinghua.edu.cn/simple
二、安裝PyQt Integration插件。
1、Qt Designer、PyUIC、PyRcc
安裝PyQt Integration插件(Qt Designer、PyUIC、PyRcc),可以幫我們自動生成UI相關(guān)代碼和資源。
Qt Designer:可以通過Qt Designer來編寫UI界面,Qt Designer的設(shè)計(jì)符合MVC的架構(gòu),其實(shí)現(xiàn)了視圖和邏輯的分離,從而實(shí)現(xiàn)了開發(fā)的便捷。Qt Designer中的操作方式十分靈活,其通過拖拽的方式放置控件可以隨時查看控件效果。Qt Designer隨PyQt5-tools包一起安裝,其安裝路徑在 “Python安裝路徑\Lib\site-packages\pyqt5-tools”下。
PyUIC:Qt Designer生成的.ui文件(實(shí)質(zhì)上是XML格式的文件)可以通過pyuic5工具或python轉(zhuǎn)換成.py文件。
命令格式:
pyuic5 -o destination.py source.ui
或者
python.exe -m PyQt5.uic.pyuic ?source.ui -o destination.py
PyRcc:在使用PyQt開發(fā)界面時,在Qt Designer中使用的圖片等資源需要將其編譯為py文件,這時需要用到PyRcc工具方便地將qrc文件轉(zhuǎn)換為py文件。
資源文件編寫說明
3.1新建resource.qrc(也可以通過Qt Designer生成qrc文件),代碼如下:
<!DOCTYPE RCC><RCC version="1.0">
<qresource>
<file alias="contacts.png">ico/contacts.png</file>
<file alias="exit.png">ico/exit.png</file>
<file alias="about.png">ico/about.png</file>
<file alias="config.png">ico/config.png</file>
<file alias="help.png">ico/help.png</file>
</qresource>
</RCC>
3.2命令格式:
pyrcc5 -o resource.py resource.qrc
2、在PyCharm中配置Qt Designer、PyUIC、PyRcc
1、點(diǎn)擊菜單欄“File”,彈出下拉框,選擇“Setting”,彈出設(shè)置界面。在設(shè)置界面中選擇“Tools”→“External Tools”,操作如下圖所示。
2、外部工具配置。
名稱:QtDesigner
工具設(shè)置
? ? 程序:E:\Anaconda\anaconda3\Library\bin\designer.exe
? ? 工作目錄:$FileDir$
名稱:PyUIC
工具設(shè)置
? ? 程序:E:\Anaconda\anaconda3\envs\pytorch\python.exe
? ? 實(shí)參:-m PyQt5.uic.pyuic ?$FileName$ -o $FileNameWithoutExtension$.py
? ? 工作目錄:$FileDir$
或者?
? ? 程序:D:\anaconda3\Scripts\pyuic5.exe
? ? 實(shí)參:$FileName$ -o $FileNameWithoutExtension$.py
? ? 工作目錄:$FileDir$
名稱:PyRcc
工具設(shè)置
? ? 程序:D:\anaconda3\Scripts\pyrcc5.exe
? ? 實(shí)參:$FileName$ -o $FileNameWithoutExtension$_rc.py
? ? 工作目錄:$FileDir$
三、PyQt5使用
1、首先打開或新建一個Python項(xiàng)目,點(diǎn)擊菜單欄中的“Tools”,選擇“External Tools”,可以看到之前設(shè)置好的三個工具,選擇“Qt Designer”打開Qt設(shè)計(jì)工具,步驟如下圖所示:
2、打開軟件后,在彈出的引導(dǎo)界面選擇“Main Window”,然后點(diǎn)擊“創(chuàng)建”按鈕,創(chuàng)建一個窗體界面,如下圖所示:
3、創(chuàng)建簡單界面。
最終完成后的界面如下圖所示,點(diǎn)擊“保存”保存為ui文件并置于項(xiàng)目目錄下,比如:untitled9.ui。
4、右鍵點(diǎn)擊ui文件(比如:untitled9.ui),選擇“External Tool”,再選擇PyUIC,將ui文件轉(zhuǎn)換成py文件。
5、右鍵點(diǎn)擊qrc文件(比如:my.qrc),選擇“External Tool”,再選擇PyRcc,將qrc文件轉(zhuǎn)換成py文件。
6、編輯ui文件。
6.1)右鍵點(diǎn)擊ui文件(比如:untitled9.ui),選擇“External Tool”,再選擇QtDesigner,彈出Qt Designer界面。
6.2)在Qt Designer界面,點(diǎn)擊“打開”按鍵。
6.3)彈出對話框,選擇ui文件(比如:untitled9.ui),打開。
6.4)打開文件后,就可以編輯ui文件。
7、新建一個python文件(比如:run_untitled.py),測試剛才的ui生成的py文件。
import sys
import untitled9from PyQt5.QtWidgets import QApplication, QMainWindowif __name__ == '__main__':# 實(shí)例化,傳參app = QApplication(sys.argv)# 創(chuàng)建對象mainWindow = QMainWindow()# 創(chuàng)建ui,引用untitled文件中的Ui_MainWindow類ui = untitled9.Ui_MainWindow()# 調(diào)用Ui_MainWindow類的setupUi,創(chuàng)建初始組件ui.setupUi(mainWindow)# 創(chuàng)建窗口mainWindow.show()# 進(jìn)入程序的主循環(huán),并通過exit函數(shù)確保主循環(huán)安全結(jié)束(該釋放資源的一定要釋放)sys.exit(app.exec_())
8、運(yùn)行run_untitled.py
8、使用pyinsaller生成exe文件。
8.1 cmd窗口下,進(jìn)入工程目錄下。
8.2 執(zhí)行pyinstaller命令,生成exe文件
pyinstaller --onedir --noconsole run_untitled.py --name test
8.3在dist\test目錄下,執(zhí)行test.exe文件。