我访问Qt的图形用户界面的QLabel的QPixmap的另一个线程因为我将最终使用的QLabel显示MJPEG流,我决定,请使用QLabel,因为它最简单的方法
它应该看起来像'Live',并且不会因为使用另一个(非gui)线程而阻塞UI。更新QLabel在非GUI线程连续
在QLabel中什么也没有显示。只有例外QPixmap: It is not safe to use pixmaps outside the GUI thread
任何更好或正确的方法来做到这一点?
这里是另一个线程我的PyQt代码:self.theQlabel.setPixmap(QtGui.QPixmap.fromImage(myQimg)
连续(流媒体)情况下,Gui线程将在'updatePixmap'的插槽内忙碌,从而使其无响应。会是这样吗? – vijiboy 2012-01-02 14:50:39
从非GUI线程更新GUI是不可能的,并且很可能导致各种问题和崩溃。此处给出的解决方案将不起作用,除非连接调用更改为使用Qt :: QueuedConnection,它将跨越线程边界并从GUI线程内执行插槽。 – Chris 2012-01-02 15:48:39
@vijboy,我假设耗时的操作是构建QPixmap,并且这是在外部线程中完成的。将这个像素图分配给标签不应该花很长时间。 – 2012-01-03 04:12:21