2016-05-01 22 views
0

QMediaPlayerビデオの一部の領域のみを表示したい場合、たとえば、1280x720ビデオの場合は、中間の一部の領域をQPoint(300,300)からサイズはQSize(200,200)です。QTの部分領域のみを表示QMediaPlayerビデオ(切り抜き)

私はすでにsetOffsetでQGraphicsVideoItem()を使用してQTransform.translateを適用しようとした、しかしsetOffsetは何もしないようだと変換rotate作品ではなく何かをするtranslateいないようです。

どうすればいいですか?

+0

あなたはコアコードを添付できますか? – suiwenfeng

答えて

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) 

とすることができますし、別の1でQWidgetのはまだいつものように画面上の任意の場所に置くことができるようにするだけで巣。

関連する問題