Класс QGraphicsVideoItem
Класс QGraphicsVideoItem предоставляет графический элемент, который отображает видео, созданное QMediaPlayer или QCamera. Подробнее...
| Заголовок: | #include <QGraphicsVideoItem> |
| CMake: | find_package(Qt6 COMPONENTS MultimediaWidgets REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::MultimediaWidgets) |
| qmake: | QT += multimediawidgets |
| Наследуется от: | 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 |
Сигналы
| 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(); Примечание: Только один выходной дисплей может быть подключен к объекту медиа одновременно.
См. также QMediaPlayer, QVideoWidget и QCamera.
Документация по свойствам
aspectRatioMode : Qt::AspectRatioMode
как видео масштабируется для соответствия размеру графического элемента.
Функции доступа:
| Qt::AspectRatioMode | aspectRatioMode() const |
| void | setAspectRatioMode(Qt::AspectRatioMode mode) |
[read-only] nativeSize : const QSizeF
Это свойство содержит исходный размер видео.
Функции доступа:
| QSizeF | nativeSize() const |
Сигнал уведомления:
| void | nativeSizeChanged(const QSizeF &size) |
offset : QPointF
Это свойство содержит смещение элемента видео.
QGraphicsVideoItem будет отрисовывать видео, используя смещение для его верхнего левого угла.
Функции доступа:
| QPointF | offset() const |
| void | setOffset(const QPointF &offset) |
size : QSizeF
Это свойство содержит размер элемента видео.
QGraphicsVideoItem будет отрисовывать видео, масштабируя его для соответствия размеру в соответствии с его режимом заполнения.
Функции доступа:
| 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 | [см. примечание ниже] |
Примечание: Эта функция может вызываться через систему метаобъектов и из QML. См. Q_INVOKABLE.
См. также QMediaPlayer::setVideoOutput.
Документация по функциям-членам
QGraphicsVideoItem::QGraphicsVideoItem(QGraphicsItem *parent = nullptr)
Конструирует графический элемент, отображающий видео.
parent передается в QGraphicsItem.
[signal] void QGraphicsVideoItem::nativeSizeChanged(const QSizeF &size)
Сигнализирует, что исходный размер size видео изменился.
Примечание: Сигнал-уведомление для свойства nativeSize.
[virtual] 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).
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/qgraphicsvideoitem.html