我想在带有“播放”和“停止”按钮等的简单 GUI 中播放视频(带声音)。Qt 的 Phonon 模块中有用于执行此操作的类和小部件,还有几个示例。好的,所以这似乎很简单。
但现在我需要在流式视频图像之上绘制一些自定义图形(取决于视频中的当前时间)。我在 Qt 文档中没有找到任何关于此的内容。这样做的规范方法是什么?我是否只是创建一个自定义 VideoWidget 小部件并覆盖它的paintEvent?在这里的另一个问题中,有些人似乎对此有麻烦。
任何指针将不胜感激。
我想在带有“播放”和“停止”按钮等的简单 GUI 中播放视频(带声音)。Qt 的 Phonon 模块中有用于执行此操作的类和小部件,还有几个示例。好的,所以这似乎很简单。
但现在我需要在流式视频图像之上绘制一些自定义图形(取决于视频中的当前时间)。我在 Qt 文档中没有找到任何关于此的内容。这样做的规范方法是什么?我是否只是创建一个自定义 VideoWidget 小部件并覆盖它的paintEvent?在这里的另一个问题中,有些人似乎对此有麻烦。
任何指针将不胜感激。
使用 QGraphicsView 和 QGraphicsWidgets。您可以将 Phonon::VideoWidget 放在 QGraphicsProxyWidget 中,它可以用作 QGraphicsWidget。
对于自定义叠加层,继承 QGraphicsWidget 并覆盖绘制函数以绘制您的自定义小部件。您可以将它们添加到您的场景中,它们将出现在您的视频小部件顶部。
您的解决方案无法工作,因为您无法添加QGLWidget
到QGraphicsProxyWidget
. 请看
http://doc.qt.digia.com/qt/qgraphicsproxywidget.html
请注意,
Qt::WA_PaintOnScreen
不能嵌入具有小部件属性集的小部件和包装外部应用程序或控制器的小部件。例子是QGLWidget
和QAxWidget
。
如果我错了,请纠正我。