pyside是qt的python封装, API的调用方法基本差不多. 用pyside从零开始写一个gui用于标注或测试(调参数或者看中间结果), 每次花费时间都比想象的要少的多. 功能方便而且代码的可读性非常好.
工具
- designer和vscode
- desginer主要用到promote, 加载资源, 配置qss的功能
- vscode的PYQT Integration, 配置好uic, rcc路径后, 可以右键编译
事例
视频播放
用QTimer和opencv实现
- 把label提升到自定义可以drop file的LabelImage
- 用timer设置play, pause功能, 进度条拖动功能
- 代码: main.py , Ui_LabelImage.py
动态折线图
用QtCharts实现
- 界面画出QWidget并提升到自定义的LineChart, 继承QChartView
- 定义chart和series
- 修改QChartView的样式: 在designer里用qss实现
- 修改QChart的样式:
- 添加series update代码
- 代码: update_frame.py , line_chart.py
图像标记
- 选择文件: 在QTreeView上设置model为QFileSystemModel
- 互动标记图片
- 用paintEvent和QPainter实现标记
- 切换label
- 用QFile替换svg的颜色
- 显示位置数据: 在QTableView上设置model为自定义的PandasModel
- 给tableView设置Delegate更改颜色和行为
资源
讲的很好的入门视频:
其他: