PyQt5

PyQt5让我们可以使用python语言创建图形应用程序

Qt Designer提供可视化的方式,让我们可以通过拖动各种组件进行图形应用程序的设计

不管是在Windows还是Linux,只要安装了Qt Designer就可以开始进行图形化应用程序的设计,产生的文件是.ui

在很多教程中,介绍如何在pycharm和vscode中进行配置来使用Qt Designer,其实本质上还是用过软件来执行命令调用Qt Designer的可执行文件而已,与你直接打开***\\site-packages\\pyqt5-tools\\designer.exe(Windows)和终端执行cd /usr/lib/x86_64-linux-gnu/qt5/bin/ && ./designer(Ubuntu Linux)并无不同,前提是已经安装好了pyqt5-tools

pyuic5则是通过pyuic5的命令将.ui的文件转化为.py文件

pyuic5 helloworld.ui -o helloworld.py

总的来说就是Qt Designer通过拖拽的方式放置控件,并实时查看控件效果进行快速UI设计,最终生成.ui文件(实质上是XML格式的文件),.ui文件可以通过pyuic工具转换成.py文件。

Windows:PyQt5安装与PyCharm配置Qt Designer

Linux:

创建独立环境

创建conda环境

conda create -n pyqt python=3.8

安装pyqt5

pip install pyqt5

查看版本

确认版本也是非常重要的,因为pyqt5很强调版本兼容问题,说明在这方面确实可能遇到问题,要是代码换了个环境,突然不能正常使用,先考虑是否版本兼容问题

通过pyuic5将ui文件重新生成python文件也许可以解决

pip show pyqt5
# Name: PyQt5
# Version: 5.15.2

安装图形界面Qt Designer

sudo apt-get install qttools5-dev-tools
sudo apt-get install qttools5-dev

安装之后可执行文件designer在/usr/lib/x86_64-linux-gnu/qt5/bin/

cd /usr/lib/x86_64-linux-gnu/qt5/bin/ 
./designer

执行即可打开Qt Designer,编辑之后File > Save As保存为.ui文件

将ui转为python代码

pyuic5 path/to/helloworld.ui -o path/to/helloworld.py

上面的命令生成的代码只是一些定义的函数,并没有调用,执行之后并不会有任何界面显示,需要在另外的python文件中进行import之后调用;
如果想要在单独一个文件中执行并显示图形结果,可以使用

pyuic5 -x path/to/helloworld.ui -o path/to/helloworld.py

添加参数-x--execute,生成的Python代码包括少量其他代码,这些代码在作为独立应用程序执行时会创建并显示GUI。

pycharm 配置

PyQt5安装与PyCharm配置Qt Designer

vs code配置

添加pyqt integration插件

File > Preferences > Settings,搜索pyqt integration

找到Pyqt-integration > Qtdesigner:path,里面输入designer的路径/usr/lib/x86_64-linux-gnu/qt5/bin/designer
在这里插入图片描述
设置好之后在vscode编辑器的左侧文件目录栏空白位置邮件,选择PYQT:New Form即可打开Qt Designer

编辑保存.ui之后,右键该文件,选择PYQT:Compile Form,即可将.ui转为.py

生成的py文件里提示,不要手动去修改该文件,因为当再次执行pyuic5之后,所有的修改都会被覆盖,所以如果要运行这个py文件,就新建一个独立的py文件去import,调用就好了

# main.py
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow
import helloworld  # 生成的文件

if __name__ == '__main__': 
    app = QApplication(sys.argv) 
    MainWindow = QMainWindow() 
    ui = Ui_MainWindow() 
    ui.setupUi(MainWindow) 
    MainWindow.show() 
    sys.exit(app.exec_())

如果要每次执行pyuic5就生成单独可以执行的文件,就在Pyqt-integration > Pyuic > Compile: Add Options添加-x参数

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐