2010-12-17 100 views
1

我想在带有“播放”和“停止”按钮的简单图形用户界面中播放视频(带声音)等。Qt的Phonon模块中有类和小部件用于实现这一点,例子。好的,这似乎很简单。使用自定义覆盖图形播放视频

但是现在我需要在流式视频图像顶部绘制一些自定义图形(取决于视频中的当前时间)。我在Qt文档中没有发现任何关于此的信息。这样做的典型方法是什么?我只是创建一个自定义的VideoWidget小部件并重写它的paintEvent?在这里的另一个问题,有些人似乎有这个问题。

任何指针,将不胜感激。

回答

2

使用QGraphicsView和QGraphicsWidgets。你可以把你的Phonon :: VideoWidget放在一个QGraphicsProxyWidget中,它可以用作QGraphicsWidget。

对于自定义叠加,请继承QGraphicsWidget并重写绘制函数以绘制您的自定义小部件。您可以将它们添加到您的场景中,并且它们将出现在视频窗口小部件的顶部。

1

您的解决方案无法工作,因为您无法将QGLWidget添加到QGraphicsProxyWidget。请看看 http://doc.qt.digia.com/qt/qgraphicsproxywidget.html

注意,部件与部件Qt::WA_PaintOnScreen属性设置 和小部件包装的外部应用程序或控制器不能 嵌入。示例是QGLWidgetQAxWidget

如果我错了,请纠正我。

+0

自从我实现这一点以来已经有一段时间了,我现在无法访问代码。但我可以向你保证我确实解决了这个问题。据我所知,我确实按照公认的答案所述解决了这个问题,但我可能是错的。 – 2012-11-07 15:39:27

+0

谢谢你的快速回复Sebastian。我很高兴在这里它为你工作。是否认为有可能在下次访问代码并将其添加到该帖子中(或只是重要的代码片段)? – user1773762 2012-11-08 07:21:40

+0

我认为这里会介入所有人来看看这可以做到 – user1773762 2012-11-12 08:38:06

相关问题