QGraphicsVideoItem 類提供圖形項所顯示的視頻産生自 QMediaPlayer or 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 () override |
| 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 or 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 .
如何比例縮放視頻以擬閤圖形項的大小。
訪問函數:
| Qt::AspectRatioMode | aspectRatioMode () const |
| void | setAspectRatioMode (Qt::AspectRatioMode mode ) |
[read-only]
nativeSize
: const
QSizeF
此特性保持視頻的本機大小。
訪問函數:
| QSizeF | nativeSize () const |
通知程序信號:
| void | nativeSizeChanged (const QSizeF & size ) |
此特性保持視頻項的偏移。
QGraphicsVideoItem 將使用其左上角的偏移繪製視頻。
訪問函數:
| 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.
訪問函數:
| 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
。範例展示如何將視頻幀渲染到
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 .
[explicit]
QGraphicsVideoItem::
QGraphicsVideoItem
(
QGraphicsItem
*
parent
= nullptr)
構造顯示視頻的圖形項。
The parent 被傳遞給 QGraphicsItem .
[override virtual noexcept]
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).
[override virtual]
int
QGraphicsVideoItem::
type
() const
重實現: QGraphicsItem::type () const.
Returns an int representing the type of the video item.