QGraphicsVideoItem 類

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

頭: #include <QGraphicsVideoItem>
CMake: find_package(Qt6 REQUIRED COMPONENTS MultimediaWidgets)
target_link_libraries(mytarget PRIVATE Qt6::MultimediaWidgets)
qmake: QT += multimediawidgets
繼承: QGraphicsObject

特性

公共函數

QGraphicsVideoItem (QGraphicsItem * parent = nullptr)
virtual ~QGraphicsVideoItem () override
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
QVideoSink * videoSink () const

重實現公共函數

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

信號

void nativeSizeChanged (const QSizeF & size )

詳細描述

附加 QGraphicsVideoItem 到 QMediaPlayer or QCamera 允許它顯示該媒體對象的視頻 (或圖像輸齣)。

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

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

另請參閱 QMediaPlayer , QVideoWidget ,和 QCamera .

特性文檔編製

aspectRatioMode : Qt::AspectRatioMode

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

訪問函數:

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

[read-only] 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 )

[read-only] videoSink : QVideoSink * const

Returns the underlying video sink 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);
item->videoSink()->setVideoFrame(QVideoFrame(img));
					

訪問函數:

QVideoSink * videoSink () const [見下文注意事項]

注意: 此函數可以被援引,通過元對象係統和從 QML。見 Q_INVOKABLE .

另請參閱 QMediaPlayer::setVideoOutput .

成員函數文檔編製

[explicit] QGraphicsVideoItem:: QGraphicsVideoItem ( QGraphicsItem * parent = nullptr)

構造顯示視頻的圖形項。

The parent 被傳遞給 QGraphicsItem .

[override virtual noexcept] 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).

[override virtual] int QGraphicsVideoItem:: type () const

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

Returns an int representing the type of the video item.