QGraphicsVideoItem 類

QGraphicsVideoItem 類提供圖形項所顯示的視頻産生自 QMediaObject . 更多...

頭: #include <QGraphicsVideoItem>
qmake: QT += multimediawidgets
繼承: QGraphicsObject and QMediaBindableInterface

特性

公共函數

QGraphicsVideoItem (QGraphicsItem * parent = nullptr)
virtual ~QGraphicsVideoItem ()
Qt::AspectRatioMode aspectRatioMode () const
QSizeF nativeSize () const
QPointF offset () const
void setAspectRatioMode (Qt::AspectRatioMode mode )
void setOffset (const QPointF & offset )
void setSize (const QSizeF & size )
QSizeF size () const
QAbstractVideoSurface * videoSurface () const

重實現公共函數

virtual QRectF boundingRect () const override
virtual QMediaObject * mediaObject () const override
virtual void paint (QPainter * painter , const QStyleOptionGraphicsItem * option , QWidget * widget = nullptr) override

信號

void nativeSizeChanged (const QSizeF & size )

詳細描述

附加 QGraphicsVideoItem 到 QMediaObject allows it to display the video or image output of that media object. A QGraphicsVideoItem is attached to a media object by passing a pointer to the QMediaObject setMediaObject () 函數。

player = new QMediaPlayer(this);
QGraphicsVideoItem *item = new QGraphicsVideoItem;
player->setVideoOutput(item);
graphicsView->scene()->addItem(item);
graphicsView->show();
player->setMedia(QUrl("http://example.com/myclip4.ogv"));
player->play();
					

注意 :每次隻可以把單個顯示輸齣,附加到媒體對象。

另請參閱 QMediaObject , QMediaPlayer ,和 QVideoWidget .

特性文檔編製

aspectRatioMode : Qt::AspectRatioMode

如何比例縮放視頻以擬閤圖形項的大小。

訪問函數:

Qt::AspectRatioMode aspectRatioMode () const
void setAspectRatioMode (Qt::AspectRatioMode mode )

mediaObject : QMediaObject * const

This property holds the media object which provides the video displayed by a graphics item.

訪問函數:

virtual QMediaObject * mediaObject () const override

nativeSize : const QSizeF

此特性保持視頻的本機大小。

訪問函數:

QSizeF nativeSize () const

通知程序信號:

void nativeSizeChanged (const QSizeF & size )

offset : QPointF

此特性保持視頻項的偏移。

QGraphicsVideoItem 將使用其左上角的偏移繪製視頻。

訪問函數:

QPointF offset () const
void setOffset (const QPointF & offset )

size : QSizeF

This property holds the video item's size.

QGraphicsVideoItem will draw video scaled to fit size according to its fillMode.

訪問函數:

QSizeF size () const
void setSize (const QSizeF & size )

videoSurface : QAbstractVideoSurface * const

Returns the underlying video surface that can render video frames to the current item. This property is never nullptr 。範例展示如何將視頻幀渲染到 QGraphicsVideoItem :

QGraphicsVideoItem *item = new QGraphicsVideoItem;
graphicsView->scene()->addItem(item);
graphicsView->show();
QImage img = QImage("images/qt-logo.png").convertToFormat(QImage::Format_ARGB32);
QVideoSurfaceFormat format(img.size(), QVideoFrame::Format_ARGB32);
item->videoSurface()->start(format);
item->videoSurface()->present(img);
					

該特性在 Qt 5.15 引入。

訪問函數:

QAbstractVideoSurface * videoSurface () const

另請參閱 QMediaPlayer::setVideoOutput .

成員函數文檔編製

QGraphicsVideoItem:: QGraphicsVideoItem ( QGraphicsItem * parent = nullptr)

構造顯示視頻的圖形項。

The parent 被傳遞給 QGraphicsItem .

[signal] void QGraphicsVideoItem:: nativeSizeChanged (const QSizeF & size )

發射信號,當本機 size 對於視頻已改變。

注意: 通知程序信號對於特性 nativeSize .

[虛擬] QGraphicsVideoItem:: ~QGraphicsVideoItem ()

銷毀視頻圖形項。

[override virtual] QRectF QGraphicsVideoItem:: boundingRect () const

重實現: QGraphicsItem::boundingRect () const.

[override virtual] void QGraphicsVideoItem:: paint ( QPainter * painter , const QStyleOptionGraphicsItem * option , QWidget * widget = nullptr)

重實現: QGraphicsItem::paint (QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget).