我只想展示正在播放QMediaPlayer
视频的部分区域,例如,如果它是1280x720视频,我可能只希望在QPoint(300,300)
中间显示一些区域,其大小为{ {1}}。
我已尝试将QSize(200,200)
与setOffset一起使用并应用QGraphicsVideoItem()
,但QTransform.translate
似乎无效并且变换setOffset
有效但rotate
不起作用好像什么都做。
我怎么能这样做?
答案 0 :(得分:0)
好的结果是你可以通过将它放在父QWidget中并设置那个小部件几何来基本上裁剪任何东西。
通过设置x和y负数,您可以将左上角推到渲染区域外,通过设置宽度和高度,您可以设置显示的数量,基本上允许您显示QWidgets内容的任何特定部分。
qw = QWidget()
qw.setParent(self)
qw.setGeometry(-150,-150,500,500)
videoWidget = QVideoWidget()
videoWidget.setParent(qw)
videoWidget.show()
mediaPlayer = QMediaPlayer(None, QMediaPlayer.VideoSurface)
mediaPlayer.setVideoOutput(videoWidget)
然后你可以将QWidget嵌套在另一个QWidget中,以便能够像往常一样将它放在屏幕上的任何位置。