QGraphicsVideoItem Class
The QGraphicsVideoItem class provides a graphics item which display video produced by a QMediaPlayer or QCamera. More...
Header: | #include <QGraphicsVideoItem> |
CMake: | find_package(Qt6 COMPONENTS MultimediaWidgets REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::MultimediaWidgets) |
qmake: | QT += multimediawidgets |
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 |
Signals
void | nativeSizeChanged(const QSizeF &size) |
Detailed Description
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
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
QGraphicsVideoItem::QGraphicsVideoItem(QGraphicsItem *parent = nullptr)
Constructs a graphics item that displays video.
The parent is passed to QGraphicsItem.
[signal]
void QGraphicsVideoItem::nativeSizeChanged(const QSizeF &size)
Signals that the native size of the video has changed.
Note: Notifier signal for property nativeSize.
[virtual]
QGraphicsVideoItem::~QGraphicsVideoItem()
Destroys a video graphics item.
[override virtual]
QRectF QGraphicsVideoItem::boundingRect() const
Reimplements: QGraphicsItem::boundingRect() const.
[override virtual]
void QGraphicsVideoItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = nullptr)
Reimplements: QGraphicsItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget).