Home · All Classes · All Functions ·

QGraphicsVideoItem Class Reference

The QGraphicsVideoItem class provides a graphics item which display video produced by a QMediaObject. More...

    #include <QGraphicsVideoItem>

Inherits QGraphicsObject.


Public Types

enum FillMode { Stretch, PreserveAspectFit, PreserveAspectCrop }

Properties


Public Functions

QGraphicsVideoItem ( QGraphicsItem * parent = 0 )
~QGraphicsVideoItem ()
Qt::AspectRatioMode aspectRatioMode () const
QMediaObject * mediaObject () const
QSizeF nativeSize () const
QPointF offset () const
void setAspectRatioMode ( Qt::AspectRatioMode mode )
void setMediaObject ( QMediaObject * object )
void setOffset ( const QPointF & offset )
void setSize ( const QSizeF & size )
QSizeF size () const

Reimplemented Public Functions

virtual QRectF boundingRect () const
virtual void paint ( QPainter * painter, const QStyleOptionGraphicsItem * option, QWidget * widget = 0 )

Signals

void nativeSizeChanged ( const QSizeF & size ) const

Additional Inherited Members


Detailed Description

The QGraphicsVideoItem class provides a graphics item which display video produced by a QMediaObject.

Attaching a QGraphicsVideoItem to a QMediaObject allows it to display the video or image output of that media object. A QGraphicsVideoItem is attached to a media object by passing a pointer to the QMediaObject to the setMediaObject() function.

    player = new QMediaPlayer(this);

    QGraphicsVideoItem *item = new QGraphicsVideoItem;
    item->setMediaObject(player);
    graphicsView->scence()->addItem(item);
    graphicsView->show();

    player->setMedia(video);
    player->play();

Note: Only a single display output can be attached to a media object at one time.

See also QMediaObject, QMediaPlayer, and QVideoWidget.


Member Type Documentation

enum QGraphicsVideoItem::FillMode

Enumerates the methods of scaling a video to fit a graphics item.

ConstantValueDescription
QGraphicsVideoItem::Stretch0The video is stretched to fit the item's size.
QGraphicsVideoItem::PreserveAspectFit1The video is uniformly scaled to fix the item's size without cropping.
QGraphicsVideoItem::PreserveAspectCrop2The video is uniformly scaled to fill the item's size, cropping if necessary.


Property Documentation

aspectRatioMode : Qt::AspectRatioMode

This property holds how a video is scaled to fit the graphics item's size.

Access functions:

Qt::AspectRatioMode aspectRatioMode () const
void setAspectRatioMode ( Qt::AspectRatioMode mode )

mediaObject : QMediaObject *

This property holds the media object which provides the video displayed by a graphics item.

Access functions:

QMediaObject * mediaObject () const
void setMediaObject ( QMediaObject * object )

nativeSize : const QSizeF

This property holds the native size of the video.

Access functions:

QSizeF nativeSize () const

Notifier signal:

void nativeSizeChanged ( const QSizeF & size ) const

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 )

Member Function Documentation

QGraphicsVideoItem::QGraphicsVideoItem ( QGraphicsItem * parent = 0 )

Constructs a graphics item that displays video.

The parent is passed to QGraphicsItem.

QGraphicsVideoItem::~QGraphicsVideoItem ()

Destroys a video graphics item.

QRectF QGraphicsVideoItem::boundingRect () const   [virtual]

Reimplemented from QGraphicsItem::boundingRect().

void QGraphicsVideoItem::nativeSizeChanged ( const QSizeF & size ) const   [signal]

void QGraphicsVideoItem::paint ( QPainter * painter, const QStyleOptionGraphicsItem * option, QWidget * widget = 0 )   [virtual]

Reimplemented from QGraphicsItem::paint().


Copyright © 2009 Nokia Corporation and/or its subsidiary(-ies) Trademarks
Qt Mobility Project 1.0.0