我使用QLabel来显示伪视频流。由于我对像素进行了大量计算,因此我使用QImage bits()函数,然后将其转换为像素图以在QLabel上显示它。到目前为止我一直在使用:
for(...)
{
computeImage(&myImage);
myLabel->setPixmap(QPixmap::fromImage(myImage));
}
但是,由于QPixmap::fromImage(...)
函数总是创建一个新的QPixmap对象,我尝试了以下谁应该更有效率:
QPixmap myPixmap;
for(...)
{
computeImage(&myImage);
bool b = myPixmap.convertFromImage(myImage);
myLabel->setPixmap(myPixmap);
}
它适用于第一次显示,但之后不会刷新。 “b”变量始终为true,因此转换效果很好。我甚至尝试过repaint()
或update()
标签,但它不起作用。标签仍然会永远显示第一张图片。
答案 0 :(得分:1)
你的每秒帧数(fps)是多少?你能尝试在图像间放一些间隔吗?我认为还需要update()。