The QGraphicsVideoItem class provides a graphics item which display video produced by a QMediaPlayer or QCamera. More...
Header: | #include <QGraphicsVideoItem> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS MultimediaWidgets) target_link_libraries(mytarget PRIVATE Qt6::MultimediaWidgets) |
qmake: | QT += multimediawidgets |
Inherits: | QGraphicsObject |
|
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 |
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) |
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.
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 QSizeFThis property holds the native size of the video.
Access functions:
QSizeF | nativeSize() const |
Notifier signal:
void | nativeSizeChanged(const QSizeF &size) |
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) |
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* constReturns 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.
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() constReimplements: 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).
[override virtual]
int QGraphicsVideoItem::type() constReimplements: QGraphicsItem::type() const.
Returns an int representing the type of the video item.