记录2:PyQt5的安装配置和简单使用
一,安装PyQt5和PyQt5-tools
- 打开Windows命令提示符
- 安装PyQt5,输入:pip install PyQt5 或 pip install PyQt5 -i https://pypi.douban.com/simple
- 安装PyQt5-tools,输入:pip install PyQt5-tools 或 pip install PyQt5-tools -i https://pypi.douban.com/simple --trusted-host=pypi.douban.com
- 找到找到qtdesigner 安装路径; 打开designer.exe,就可以绘制你想要的UI界面,保存到你项目的文件夹
- 如果打开designer.exe失败,可能C:\Python38\Lib\site-packages\pyqt5_tools\Qt\bin\platforms里的文件不支持,寻找C:\Python38\Lib\site-ackages\pyqt5_tools\Qt\plugins\platforms文件夹,找到后复制里面的文件到C:\Python38\Lib\site-packages\pyqt5_tools\Qt\bin\platforms文件夹里,有一个文件重复,选择覆盖,再次尝试打开designer.exe试试(旧版的designer.exe文件在C:\Python38\Lib\site-packages\pyqt5_tools\,这是因为新版的PYQT5-tool中的designer.exe文件位置改变了导致的)
二,VS Code配置PyQt5和designer.exe
- 安装扩展PYQT Integration:打开VS Code拓展商店,PYQT Integration
- 打开设置界面:文件->首选项->设置->拓展 或 管理->设置->拓展
- 设置pyuic5的路径:找到Pyqt-integration>Pyuic:Cmd 填入相应的路径:C:\Python38\Scripts\pyuic5
- 设置designer的路径:找到Pyqt-integration>Qtdesigner:Path 填入相应的路径:C:\Python38\Lib\site-packages\pyqt5_tools\Qt\bin\designer
- 这两个文件在python安装路径下,搜索pyuic5和designer就可以找到位置。
我的pyuic5路径是C:\Python38\Scripts\pyuic5
我的designer路径是C:\Python38\Lib\site-packages\pyqt5_tools\Qt\bin\designer
三,简易UI界面测试
- 建立一个文件夹,用于存放项目文件,我在D盘新建vscode->新建VS-Code-Python
- 打开VS Code:文件->打开文件夹,打开VS-Code-Python文件夹,名称会全部变成大写
- 选中VS-CODE-PYTHON区域,右键->PYQT:New Form,选中点击即可打开designer.exe界面编辑器
- 初次启动会弹出这个“New Form”窗口,选择“Main Window”然后点击“Create”。在画布上任意拖动几个控件。
- 画好界面后保存到:VS-Code-Python文件夹,就会生成相应的.ui文件,如untitled.ui。
- VS-CODE-PYTHON区域也会加载untitled.ui,右键.ui文件,选择PYQT:compile from,可以对untitled.ui文件进行编译,自动生成对应的py文件Ui_untitled.py(无法直接运行,因为生成的文件并没有程序入口)
- 同一个目录下另外创建一个程序叫做“main.py”,启动运行->启动调试 F5:弹出测试的UI界面。
import sys from PyQt5.QtWidgets import QApplication, QMainWindow import Ui_untitled if __name__ == '__main__': app = QApplication(sys.argv) MainWindow = QMainWindow() ui = Ui_untitled.Ui_MainWindow() ui.setupUi(MainWindow) MainWindow.show() sys.exit(app.exec_())
四,其他的配置
- VS Code会提示安装代码检查分析器pylint
- VSCode默认使用pylint来进行代码检查,对于PyQt或PySide2,我们需要修改下VSCode的配置文件,不然会出现一些莫名其妙的波浪线/提示。
- Missing module docstringpylint(missing-module-docstring):没有对应的模块描述字符,在首部加入,可以消除
""" 模块描述字符 """ import PySide2.QtCore from PySide2.QtWidgets import QApplication, QLabel # 打印PySide版本 print(PySide2.__version__)
- Missing module docstringpylint(missing-module-docstring):没有对应的模块描述字符,在首部加入,可以消除
- setting.json添加设置,消除波浪线/提示如下:
"python.linting.pylintArgs": [ //禁用某个规则,C惯例(编码风格),R重构,W警告,E错误,F致命错误 "--disable=W,C", //针对E1101错误,如"xxx has no xxx member",也可以写在"--disable=E1101" "--generate-members", //pylint不会加载扩展模块(即非Python写的,而PyQt正好是使用sip工具绑定的C++Qt库) //所以需要在扩展列表中显示声明(可以是配置pylint或者写在vscode配置文件中) //参考:https://stackoverflow.com/questions/34746847/sublime-pylint-pyqt4-module-has-no-member "--extension-pkg-whitelist=PyQt5,PySide2" ],
-
自动补全/智能提示
"python.jediEnabled": false, "python.autoComplete.extraPaths": [ "C:\\Python38\\Lib\\site-packages", "C:\\Python38\\Scripts" ]
- pyuic编译的常用附加选项:
-
-x, --execute
产生额外的代码来测试和显示类。
-d, --debug
显示调试信息。
-i, --indent N
设置缩进的空格数N,N为0时表示使用tab,缺省N为3,即3个空格
-p, --preview
预览用户界面。
- VSCode扩展中,设置编译属性 “-x”,
![]()
- PYQT:compile from,可以对untitled.ui文件进行编译,自动生成对应的py文件Ui_untitled.py,(添加程序入口,可直接运行调试)
![]()
-



浙公网安备 33010602011771号