【发布时间】:2023-03-07 23:31:01
【问题描述】:
我正在尝试运行两个线程。一个是非 GUI 线程,另一个是 GUI 线程。现在,当我尝试使用命令将图像放入 QLabel 时imageLabel->setPixmap(QPixmap::fromImage(image));
然后我得到一个错误:QPixmap:在 GUI 线程之外使用像素图是不安全的。
所以,要处理上面提到的问题。我已经在我的头文件中声明了QImage *image;,并且我使用image = new QImage(&(msg->data[0]), msg->width, msg->height, QImage::Format_RGB888); 将我的图像从msg 获取到*image,然后我想通过这个指针在QLabel 中设置我的图像。但是我不明白,现在应该使用什么格式的setPixmap。
通常的代码 imageLabel->setPixmap(QPixmap::fromImage(image)); 现在不起作用,因为 QImage *image 是类型指针。
所以,基本上我正在尝试执行以下操作:-
QImage *image; //in header file
QLabel *imageLabel: //in header file
image = new QImage(&(msg->data[0]), msg->width, msg->height, QImage::Format_RGB888);
imageLabel->setPixmap(QPixmap::fromImage(???????));
【问题讨论】:
标签: multithreading qt qt-creator ros