【发布时间】:2018-12-12 17:56:43
【问题描述】:
我正在创建一个视频播放器,我需要在它上面绘制一些多边形。我正在使用 QGraphicsScene 来创建它,并且我需要在每一帧之后更新屏幕上的多边形。我目前正在使用与 QGraphicsVideoItem 配对的 QMediaPlayer 来创建它。我遇到的问题是 QMediaPlayer 没有在每一帧上激活的信号。它有 positionChanged(),但这似乎每秒触发一次。
我尝试使用 QMovie,因为它确实会在每一帧上发送更新,但它没有显示任何内容。这是我用来实现它的代码。
video_view = QGraphicsView()#view to hold video
video_item = QGraphicsVideoItem()#video item for scene
video_scene = QGraphicsScene()#scene for Qgraphics view
video_view.setScene(video_scene)
label = QLabel()
movie = QMovie(self.video_paths[index]) #contains file path
label.setMovie(movie)
video_scene.addWidget(label)
self.vlayout_main_video.addWidget(video_view)
我使用的视频文件是 .avi 文件,大小为 72Mb。
如果有人能指出我如何做到这一点的正确方向,我将不胜感激。我目前正在使用 PyQt5。
谢谢
【问题讨论】:
标签: python pyqt pyqt5 qgraphicsscene qmediaplayer