2

我使用 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”变量始终为真,因此转换效果很好。我什至尝试过repaint()update()标签,但它不起作用。标签仍然永远显示第一个图像。

4

1 回答 1

1

你的每秒帧数(fps)是多少?您可以尝试在图像之间设置一些间隔吗?我认为 update() 也是需要的。

于 2012-06-19T02:05:25.617 回答