ReadThread线程类的实现
ReadThread线程类实现
类设计要点
头文件优化
- 核心:头文件中不需要包含其他类的完整定义
- 只需要前置声明即可
- 可以减少编译依赖
线程控制
- 继承QThread类
- 重写run函数
- 使用start启动线程
- 使用quit请求停止
- 使用wait等待线程结束
计时器兼容性问题
Qt6废弃QTime
第一个遇到的兼容性问题:Qt6中QTime的start()和elapsed()方法已被废弃
使用QElapsedTimer
- Qt5就建议使用QElapsedTimer替代QTime
- QTime设计初衷是表示时间和测量时间间隔
- 在高精度计时方面存在限制
- QElapsedTimer提供更高精度的时间测量
- 使用系统级别的高分辨率定时器
计时规则
- start()时记录一次时间
- elapsed()返回与当前时间的差值
已知问题
暂停功能bug
- elapsed在触发暂停后仍会继续计时
- 导致暂停后播放会快速追回当前时间
- 实际效果等于没有暂停
- 后续会更新优化方案
评论