QGraphicsVideoItem Class

The QGraphicsVideoItem class provides a graphics item which display video produced by a QMediaObject. More...

Header: #include <QGraphicsVideoItem>
qmake: QT += multimediawidgets
Inherits: QGraphicsObject and QMediaBindableInterface


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

Reimplemented Public Functions

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)

Additional Inherited Members

Detailed Description

The QGraphicsVideoItem class provides a graphics item which display video produced by a QMediaObject.

Attaching a QGraphicsVideoItem to a 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 to the setMediaObject() function.

player = new QMediaPlayer(this);

QGraphicsVideoItem *item = new QGraphicsVideoItem;


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

See also QMediaObject, QMediaPlayer, and QVideoWidget.

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)

mediaObject : QMediaObject* const

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

Access functions:

virtual QMediaObject * mediaObject() const override

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)

Member Function Documentation

QGraphicsVideoItem::QGraphicsVideoItem(QGraphicsItem *parent = nullptr)

Constructs a graphics item that displays video.

The parent is passed to QGraphicsItem.

[virtual] QGraphicsVideoItem::~QGraphicsVideoItem()

Destroys a video graphics item.

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

Reimplemented from QGraphicsItem::boundingRect().

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

Signals that the native size of the video has changed.

Note: Notifier signal for property nativeSize.

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

Reimplemented from QGraphicsItem::paint().

Voted #1 for:

  • Easiest to learn
  • Most time saving
  • Best support

Develop Cross-Platform Apps and Games 50% Faster!

  • Voted the best supported, most time-saving and easiest to learn cross-platform development tool
  • Based on the Qt framework, with native performance and appearance on all platforms including iOS and Android
  • Offers a variety of plugins to monetize, analyze and engage users
create apps
create games
cross platform
native performance
3rd party services
game network
level editor
easiest to learn
biggest time saving
best support