【发布时间】:2012-01-01 20:15:36
【问题描述】:
我正在编写一个程序,它应该在QLabel 中显示图像QWidget。图像是从服务器发送的。首先,我有一个线程负责连接并从服务器接收数据。当接收到数据时,套接字线程发送一个信号gotNewData(Imagedata),该信号连接到QWidgetupdateImage(Imagedata)插槽。在updateImage(Imagedata) 插槽中,我将从服务器获取的图像数据转换为QImage,缩放图像并创建QPixmap,并将其设置为QLabel。我的问题是,在处理updateImage(Imagedata) 函数期间,套接字会获取带有新图像的其他包,并一次又一次地将信号发送到QWidget。这是合乎逻辑的,因为套接字线程不关心由前一个信号调用调用的函数updateImage(Imagedata) 是否已经完成。我的问题是:有没有一些技巧,我如何将我的套接字线程与QWidgetupdateImage(Imagedata) 函数同步?
【问题讨论】:
标签: qt sockets qwidget qthread synchronisation