pyside是qt的python封装, API的调用方法基本差不多. 用pyside从零开始写一个gui用于标注或测试(调参数或者看中间结果), 每次花费时间都比想象的要少的多. 功能方便而且代码的可读性非常好.

工具

  • designer和vscode
    • desginer主要用到promote, 加载资源, 配置qss的功能
  • vscode的PYQT Integration, 配置好uic, rcc路径后, 可以右键编译

事例

视频播放

用QTimer和opencv实现

Screen Recording 2024-04-07 at 09.30.20.mp4

  1. 把label提升到自定义可以drop file的LabelImage
  2. 用timer设置play, pause功能, 进度条拖动功能

动态折线图

用QtCharts实现

Screen Recording 2024-04-07 at 09.46.44.mp4

  1. 界面画出QWidget并提升到自定义的LineChart, 继承QChartView
  2. 定义chart和series
  3. 修改QChartView的样式: 在designer里用qss实现
  4. 修改QChart的样式:
  5. 添加series update代码

图像标记

  1. 选择文件: 在QTreeView上设置model为QFileSystemModel
  2. 互动标记图片
    • 用paintEvent和QPainter实现标记
  3. 切换label
    • 用QFile替换svg的颜色
  4. 显示位置数据: 在QTableView上设置model为自定义的PandasModel
    • 给tableView设置Delegate更改颜色和行为

资源

讲的很好的入门视频:

其他: