このページでは

QGraphicsVideoItem Class

QGraphicsVideoItem クラスは、QMediaPlayer またはQCamera によって生成された動画を表示するグラフィックアイテムを提供します。詳細...

ヘッダー: #include <qgraphicsvideoitem.h>
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 または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();

注: メディアオブジェクトには、一度に 1 つの表示出力しかアタッチできません。

関連項目: QMediaPlayer 、QVideoWidget 、およびQCamera 。

プロパティのドキュメント

aspectRatioMode : Qt::AspectRatioMode

グラフィック項目のサイズに合わせて動画がどのように拡大・縮小されるか。

アクセス関数:

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

[read-only] nativeSize : QSizeF

このプロパティは、動画のネイティブサイズを保持します。

アクセス関数:

QSizeF nativeSize() const

通知シグナル:

void nativeSizeChanged(const QSizeF &size)

offset : QPointF

このプロパティには、動画アイテムのオフセットが格納されます。

QGraphicsVideoItem ビデオは、その左上隅のオフセットを使用して描画されます。

アクセス関数:

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

size : QSizeF

このプロパティは、ビデオ項目のサイズを保持します。

QGraphicsVideoItem fillMode に応じて、サイズに合わせて拡大・縮小された動画が描画されます。

アクセス関数:

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

[read-only] videoSink : QVideoSink* const

現在のアイテムにビデオフレームをレンダリングできる、基となるビデオシンクを返します。このプロパティの値が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[see note below]

注:この関数は 、メタオブジェクトシステムおよびQMLから呼び出すことができます。Q_INVOKABLE を参照してください。

QMediaPlayer::setVideoOutputも参照してください 。

メンバ関数のドキュメント

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

ビデオを表示するグラフィックアイテムを作成します。

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 を再実装します。

ビデオ項目の型を表す `int` を返します。

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.