【发布时间】:2017-05-20 20:26:08
【问题描述】:
我正在使用 PyQt 和 OpenCV 构建视频播放器。使用单独的线程,我使用 OpenCV 读取视频文件,然后将其发送到使用绘制事件显示每一帧的 DisplayFrame 类。
我的问题是如何让视频像 VLC 播放器一样调整大小?如果播放器窗口太宽或太高,是否在视频周围渲染黑色空白区域并调整播放器窗口大小并保持视频比例相同?
用于显示框架的类:
class DisplayFrame(QWidget):
def __init__(self, parent=None):
super(DisplayFrame, self).__init__(parent)
self.image = QImage()
self.setAttribute(Qt.WA_OpaquePaintEvent)
def paintEvent(self, event):
painter = QPainter(self)
painter.drawImage(0, 0, self.image)
self.image = QImage()
@pyqtSlot(QImage)
def set_image(self, image):
self.image = image
self.update()
【问题讨论】:
标签: python opencv pyqt video-player