卡了两天的一个BUG终于解决了,在进行后续开发前先记录一下问题所在。
1.第一个问题在于QThread中的msleep()方法:
本来想用该方法来做延时操作的,之前使用中还没出现过问题,但是在这个项目中延时值是通过计算视频流实时帧数获得的,在测试笔记本电脑摄像头时也没问题,后来换了个外部摄像头(最高分辨率五百万)程序在msleep()处阻塞住,查看实际延时值发现是-1000,也就是msleep(-1000),查看帮助手册说明:
需要的参数为unsigned long类型,而msleep(-1000)时内部已经做过转换处理了,在程序中强转输出看一下:
msleep(-1000)一共要阻塞18446744073709550616毫秒,我好无聊的去换算了一下:
嗯,大概六亿年而已,有耐心的就等