在主界面类上有几个QLineEdit,主程序开始后创建另一个视频采集处理线程,在该线程类中完成如下工作1.采集视频,视频显示在改写后的imagelQlabel上2.对视频做某种算法3.把计算所得的结果显示在界面的QLineEdit,采集一帧处理一次。在线程的初始化中,把界面类的QLineEdit变量赋给线程中的QLineEdit变量。
现在的情况是视频可以顺利的显示,但一旦做上述的步骤3,则程序会异常错误。如果让采集的视频不显示,仅做QLineEdit->settext("ddd"),程序也会异常错误。网上找了下原因,说控件操作要在主线程上(界面类上)做,但如何改写,让主线程和视频采集处理线程通信起来。
请教各位,这是什么原因?
------解决方案--------------------
信号槽传递。视频采集处理线程把你要在页面现实的信息通过信号发送出去,在主线程里面有槽函数接收到,然后显示就OK了