我已经使用了使用QLabel来显示图像数据的示例(通常已知),我将它从相机中取出。相关的代码如下:QLabel从插槽调用更新不更新
void myGUI::updatePic1(imgStructColorQt image)
{
QImage img((const uchar*)image.data,BUFFER_XSIZE,BUFFER_YSIZE, COLOR_BUFFER_BYTE_SIZE*BUFFER_XSIZE, QImage::Format_RGB32);
img = img.scaled(514,388);
if (!img.isNull())
{
ui->cam1view->setPixmap(QPixmap::fromImage(img));
ui->cam1view->update();
ui->cam1view->repaint();
std::cout << "image updated!" << std::endl;
}
else
std::cout << "image is null" << std::endl;
}
updatePic1
哪里是一个名为约30倍带更新的图像数据的第二时隙。在我的主GUI窗口中,我的QLabel,cam1view显示第一个图像,但从未更新过。我知道插槽被正确调用,因为我看到控制台输出显示“图像已更新!”大约每秒30次。有没有人有任何建议,为什么QLabel没有被更新?我也知道图像数据实际上在变化,因为我可以在屏幕上打印单个像素,并观察它们正在改变,就像我在脱下并戴上镜头盖时所期望的那样。
如果您为其设置文本,标签是否更新? – thuga