QT如何在连续刷新的QPixmap上绘制形状

时间:2013-04-07 20:43:14

标签: qt video draw

我正在使用OpenCV抓取视频帧并将其转换为QPixmaps,并在QLabel上显示。在此之前,它就像一个视频播放器。

问题是,我想在视频上画一些图纸。我尝试了几种方法,但无法使其发挥作用。

第一种方法:

将视频播放器放入表单。在播放器上放置一个空小部件,并在空小部件的paintEvent()方法中创建一些绘图。没用。

第二种方法:

像第一种方法一样在视频播放器上放置一个空小部件,但是将图形放在QPixmap上,然后将QPixmap设置为QLabel,然后显示QLabel。没用。

我可以看到我画了一会儿的形状。可能每当玩家收到新帧时,它会调用update()方法并覆盖我的形状。

第三种方法:

考虑在视频帧上绘制我的形状。但是通过这种方式,我将不得不重复绘制它,就像一秒钟20次。因为我的绘图程序很重,所以这种方法看起来并不漂亮。

那么,通过持续刷新的QPixmap系列,在视频上绘制图像的最佳方式是什么?

1 个答案:

答案 0 :(得分:1)

当我在过去完成此操作时,我将pixmap放在QGraphicsScene中,并将绘图放在QGraphicsScene中。分层和排序层是非常直接的,重复使用绘图或转换旧绘图是件小事。

希望有所帮助。