QGraphicsVideoItem Class

The QGraphicsVideoItem class provides a graphics item which display video produced by a QMediaPlayer or QCamera. More...

Header: #include <QGraphicsVideoItem>
Inherits: QGraphicsObject

Properties

Public Functions

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
QVideoSink *videoSink() const

Reimplemented Public Functions

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

Signals

void nativeSizeChanged(const QSizeF &size)

Reimplemented Protected Functions

virtual QVariant itemChange(GraphicsItemChange change, const QVariant &value) override
virtual void timerEvent(QTimerEvent *event) override

Protected Variables

QGraphicsVideoItemPrivate *d_ptr

Detailed Description

\inmoduleQtMultimediaWidgets \ingroup multimedia

Attaching a QGraphicsVideoItem to a QMediaPlayer or QCamera allows it to display the video or image output of that media object.

 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();

Note: Only a single display output can be attached to a media object at one time.

See also QMediaPlayer, QVideoWidget, and QCamera.

Property Documentation

aspectRatioMode : Qt::AspectRatioMode

how a video is scaled to fit the graphics item's size.

Access functions:

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

[read-only] nativeSize : const QSizeF

This property holds the native size of the video.

Access functions:

QSizeF nativeSize() const

Notifier signal:

void nativeSizeChanged(const QSizeF &size)

offset : QPointF

This property holds the video item's offset.

QGraphicsVideoItem will draw video using the offset for its top left corner.

Access functions:

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.

Access functions:

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

[read-only] videoSink : QVideoSink* const

\since6.0

Returns the underlying video sink that can render video frames to the current item. This property is never nullptr. Example of how to render video frames to 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));

Access functions:

QVideoSink *videoSink() const[see note below]

Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.

See also QMediaPlayer::setVideoOutput.

Member Function Documentation

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

Constructs a graphics item that displays video.

The parent is passed to QGraphicsItem.

[virtual noexcept] QGraphicsVideoItem::~QGraphicsVideoItem()

Destroys a video graphics item.

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

Reimplements: QGraphicsItem::boundingRect() const.

[override virtual protected] QVariant QGraphicsVideoItem::itemChange(GraphicsItemChange change, const QVariant &value)

Reimplements: QGraphicsItem::itemChange(GraphicsItemChange change, const QVariant &value).

\internal

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

Reimplements: QGraphicsItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget).

[override virtual protected] void QGraphicsVideoItem::timerEvent(QTimerEvent *event)

Reimplements: QObject::timerEvent(QTimerEvent *event).

\internal

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

Reimplements: QGraphicsItem::type() const.

Returns an int representing the type of the video item.

Member Variable Documentation

QGraphicsVideoItemPrivate *QGraphicsVideoItem::d_ptr

\internal