使用自定义覆盖图形播放视频
-
11-10-2019 - |
题
我想在一个简单的GUI中播放一个视频(带有声音),其中包含“ play”和“ stop”按钮等。好的,这似乎很简单。
但是现在,我需要在流视频图像的顶部绘制一些自定义图形(取决于视频中的当前时间)。我在QT文档中没有发现任何有关此的信息。这样做的规范方式是什么?我是否只是创建一个自定义的videowidget小部件并覆盖其油漆?在这里的另一个问题中,有些人似乎对此有麻烦。
任何指针都将不胜感激。
解决方案
使用QgraphicsView和Qgraphicswidgets。您可以将Phonon :: VideOwidget放入QGraphicsProxywidget中,并且可以用作Qgraphicswidget。
对于自定义叠加层,继承QGraphicsWidget并覆盖油漆功能以绘制自定义小部件。您可以将它们添加到您的场景中,它们将出现在视频小部件的顶部。
其他提示
您的解决方案无法正常工作,因为您不能添加 QGLWidget
至 QGraphicsProxyWidget
. 。请看看http://doc.qt.digia.com/qt/qgraphicsproxywidget.html
请注意,小部件与
Qt::WA_PaintOnScreen
无法嵌入包裹外部应用程序或控制器的小部件属性集和小部件。例如QGLWidget
和QAxWidget
.
如果我错了,请纠正我。
不隶属于 StackOverflow