QGraphicsVideoItem 类
QGraphicsVideoItem 类提供了一种图形项,可以显示由 QMediaPlayer 或 QCamera 生成的视频。 更多...
头文件 | #include <QGraphicsVideoItem> |
CMake | find_package(Qt6 REQUIRED COMPONENTS MultimediaWidgets) 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 |
virtual int | type() const 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) |
[只读]
nativeSize : const QSizeF
该属性保存视频的原生大小。
访问函数
QSizeF | nativeSize() const |
通知信号
void | nativeSizeChanged(const QSizeF &size) |
偏移量 : QPointF
该属性保存视频项目的偏移量。
QGraphicsVideoItem将使用偏移值绘制视频项目的左上角。
访问函数
QPointF | 偏移量() const |
void | setOffset(const QPointF &offset) |
大小 : QSizeF
该属性保存视频项目的大小。
QGraphicsVideoItem将根据其填充模式将视频按比例缩放以适合大小。
访问函数
QSizeF | 大小() const |
void | setSize(const QSizeF &size) |
[只读]
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。
成员函数文档
[显式]
QGraphicsVideoItem::QGraphicsVideoItem(QGraphicsItem *parent = nullptr)
构建一个显示视频的图形项。
parent传递给QGraphicsItem。
[虚拟 noexcept]
QGraphicsVideoItem::~QGraphicsVideoItem()
销毁一个视频图形项。
[覆盖虚拟]
QRectF QGraphicsVideoItem::boundingRect() const
重新实现:QGraphicsItem::boundingRect。
[覆盖虚拟]
void QGraphicsVideoItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = nullptr)
重新实现:QGraphicsItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)。
[覆盖虚拟]
int QGraphicsVideoItem::type() const
重新实现:QGraphicsItem::type。
返回代表视频项类型的整数。
© 2024 Qt公司有限公司。此处包含的文档贡献均为各自所有者的版权。提供的文档根据自由软件基金会发布的GNU自由文档许可第1.3版进行许可。