我正在构建一个GUI,我需要在某个事件发生时更新QLabel中显示的图像。
尽管在启动时QLabel中显示初始图像工作正常,但每当我尝试在事件回调函数中稍后更改此图像时,ui_.label->setPixmap(p)
都会失败&产生这个错误:
QPixmap:在GUI线程之外使用pixmaps是不安全的
我也尝试使用信号槽机制:
connect(this, SIGNAL(updatePixmap(const QPixmap&)), ui_.label, SLOT(setPixmap(const QPixmap&)));
其中updatePixmap(const QPixmap&)
是我在事件回调函数中发出的信号(即我将ui_.label->setPixmap(p)
替换为updatePixmap(p)
)
但仍然得到同样的错误......
知道我做错了什么吗?