Ubuntu下PyQt的使用
记录PyQt的安装与使用。
1 前言
在用mujoco_py做仿真的时候,为了能直观地看到一些数据的曲线,因此需要使用PyQt5。
系统与软件版本: Ubuntu18.04 + Python3.8.13 + PyQt5-5.15
2 PyQt5的安装
PyQt5的官方链接:link1
2
3
4
5
6conda activate py38 # 在自己的conda环境中进行配置
pip install PyQt5
pip install pyqt5-tools
# 安装图像化界面 designer
sudo apt-get install qttools5-dev-tools
sudo apt-get install qttools5-dev
如果安装
qttools5-dev
时出现下图所示的错误,可以取消对Ubuntu的software更新的禁用后(但无需安装推荐的更新)再安装。
安装好之后两个软件的位置:
- designer: /usr/lib/x86_64-linux-gnu/qt5/bin/designer
- pyuic5: /media/robot/ubuntu/anaconda3/envs/py38/bin/pyuic5
查看在哪里可以借助which
命令,例如:which pyuic5
3 vscode上配置
VS Code中安装插件 PYQT Integration
。然后设置插件的两个位置如下:
4 使用
界面的布局有两种方式打开:
- 直接搜索软件 designer
- 在vscode文件栏那里的空白地方单击右键,选择
PyQt: New Form
创建一个空白的界面,保存后关闭 designer,然后将该 .ui
文件转为 .py
,同样有两种方式:
- 在终端中执行:
pyuic5 path/hello.ui -o path/hello.py
- 在 vscode 中文件栏处,右键
hello.py
,选择PyQt: Compile Form
。
生成的 hello.py
文件不要修改,这样便于后续界面的更改后进行覆盖。使用 hello.py
文件时,需要新建一个文件 main.py
,在其中调用,示例代码如下:1
2
3
4
5
6
7
8
9
10
11
12# main.py
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow
import Ui_hello # 生成的文件
if __name__ == '__main__':
app = QApplication(sys.argv)
MainWindow = QMainWindow()
ui = Ui_hello.Ui_MainWindow()
ui.setupUi(MainWindow)
MainWindow.show()
sys.exit(app.exec_())
如果感觉上述方法比较麻烦,还可以在vscode中设置 Pyqt-integration > Pyuic > Compile: Add Options
添加 -x
参数,这样自动生成的.py
文件是可以直接运行的,会将上面main.py
中的内容自动添加到生成的Ui_hello.py
中。
5 pyqtgraph 官方示例使用
ref: 链接
除了上面介绍的PyQt的使用,还可以用pyqtgraph来在程序中实时显示曲线,做数据分析等。pyqtgraph是一个基于Qt和numpy的绘图库,具备很好的图像交互、3D展示,运行速度快。官网给出了一个实例集合,包含了展示与源码,便于学习。打开示例的方法:1
2import pyqtgraph.examples
pyqtgraph.examples.run()