我在为我的项目实施VLC播放器时遇到了一些麻烦。我需要使用QgraphicsView(基本画布)覆盖视频,这样我才能绘制东西。我试过这样做:
我在这个论坛上看到,有人提取每一帧,并将其设置为像素映射到一个对象。我看到了这些代码,但是我没有得到它,因为我不是C ++专业人员:(我正在使用Qt(PySide)和VLC的Python绑定。请帮助,它真的困扰我:(
http://forum.videolan.org/viewtopic.php?f=32&t=68816&p=228645
答案 0 :(得分:1)
最近,我使用了集成的Phonon播放器。通过QGraphicsProxyWidget将Phonon视频小部件添加为GraphicsItem是可行的。在Windows背景上使用K-Lite编解码器包就像魅力一样。
答案 1 :(得分:0)
我知道这个问题已经有一段时间了,但我今天试图解决这个问题时遇到了这个问题并想出我的解决方案。
几乎你的第三次尝试是正确的,但你必须使QGraphicsView你使用透明,因为那是你看到的白色。你只需要用setGeometry手动确保视图跟踪你的窗口,然后你就可以了。
#assuming you're inside a main window that is self
scene = QGraphicsScene()
scene.setBackgroundBrush(QBrush(QColor(255, 0,0,90))) #creates a semitransparent red over VLC
view = QGraphicsView(self)
view.setScene(self.scene)
view.setGeometry(0,0,self.width(),self.height())
self.view.setStyleSheet("background: transparent");