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