Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
QQuickImage Class Reference

#include <qquickimage_p.h>

+ Inheritance diagram for QQuickImage:
+ Collaboration diagram for QQuickImage:

Public Types

enum  HAlignment { AlignLeft = Qt::AlignLeft , AlignRight = Qt::AlignRight , AlignHCenter = Qt::AlignHCenter }
 
enum  VAlignment { AlignTop = Qt::AlignTop , AlignBottom = Qt::AlignBottom , AlignVCenter = Qt::AlignVCenter }
 
enum  FillMode {
  Stretch , PreserveAspectFit , PreserveAspectCrop , Tile ,
  TileVertically , TileHorizontally , Pad
}
 
- Public Types inherited from QQuickImageBase
enum  LoadPixmapOption { NoOption = 0x0000 , HandleDPR = 0x0001 , UseProviderOptions = 0x0002 }
 
enum  Status { Null , Ready , Loading , Error }
 
- Public Types inherited from QQuickItem
enum  Flag {
  ItemClipsChildrenToShape = 0x01 , ItemIsFocusScope = 0x04 , ItemHasContents = 0x08 , ItemAcceptsDrops = 0x10 ,
  ItemIsViewport = 0x20 , ItemObservesViewport = 0x40
}
 \qmltype Item \instantiates QQuickItem \inherits QtObject \inqmlmodule QtQuick More...
 
enum  ItemChange {
  ItemChildAddedChange , ItemChildRemovedChange , ItemSceneChange , ItemVisibleHasChanged ,
  ItemParentHasChanged , ItemOpacityHasChanged , ItemActiveFocusHasChanged , ItemRotationHasChanged ,
  ItemAntialiasingHasChanged , ItemDevicePixelRatioHasChanged , ItemEnabledHasChanged
}
 Used in conjunction with QQuickItem::itemChange() to notify the item about certain types of changes. More...
 
enum  TransformOrigin {
  TopLeft , Top , TopRight , Left ,
  Center , Right , BottomLeft , Bottom ,
  BottomRight
}
 \variable QQuickItem::ItemChangeData::realValue The numeric value that has changed: \l {QQuickItem::opacity()}{opacity}, \l {QQuickItem::rotation()}{rotation}, or \l {QScreen::devicePixelRatio}{device pixel ratio}. More...
 

Signals

void fillModeChanged ()
 
void paintedGeometryChanged ()
 
void horizontalAlignmentChanged (HAlignment alignment)
 
void verticalAlignmentChanged (VAlignment alignment)
 
 Q_REVISION (2, 3) void mipmapChanged(bool)
 
 Q_REVISION (2, 5) void autoTransformChanged()
 
- Signals inherited from QQuickImageBase
void sourceChanged (const QUrl &)
 
void sourceSizeChanged ()
 
void statusChanged (QQuickImageBase::Status)
 
void progressChanged (qreal progress)
 
void asynchronousChanged ()
 
void cacheChanged ()
 
void mirrorChanged ()
 
 Q_REVISION (2, 14) void currentFrameChanged()
 
 Q_REVISION (2, 14) void frameCountChanged()
 
 Q_REVISION (2, 15) void sourceClipRectChanged()
 
 Q_REVISION (2, 15) void colorSpaceChanged()
 
 Q_REVISION (6, 2) void mirrorVerticallyChanged()
 
- Signals inherited from QQuickItem
void childrenRectChanged (const QRectF &)
 
void baselineOffsetChanged (qreal)
 
void stateChanged (const QString &)
 
void focusChanged (bool)
 
void activeFocusChanged (bool)
 
Q_REVISION(6, 7) void focusPolicyChanged(Qt Q_REVISION (2, 1) void activeFocusOnTabChanged(bool)
 
void parentChanged (QQuickItem *)
 
void transformOriginChanged (TransformOrigin)
 
void smoothChanged (bool)
 
void antialiasingChanged (bool)
 
void clipChanged (bool)
 
 Q_REVISION (2, 1) void windowChanged(QQuickWindow *window)
 
void childrenChanged ()
 
void opacityChanged ()
 
void enabledChanged ()
 
void visibleChanged ()
 
void visibleChildrenChanged ()
 
void rotationChanged ()
 
void scaleChanged ()
 
void xChanged ()
 
void yChanged ()
 
void widthChanged ()
 
void heightChanged ()
 
void zChanged ()
 
void implicitWidthChanged ()
 
void implicitHeightChanged ()
 
 Q_REVISION (2, 11) void containmentMaskChanged()
 
 Q_REVISION (6, 0) void paletteChanged()
 
 Q_REVISION (6, 0) void paletteCreated()
 
- Signals inherited from QObject
void destroyed (QObject *=nullptr)
 This signal is emitted immediately before the object obj is destroyed, after any instances of QPointer have been notified, and cannot be blocked.
 
void objectNameChanged (const QString &objectName, QPrivateSignal)
 This signal is emitted after the object's name has been changed.
 

Public Member Functions

 QQuickImage (QQuickItem *parent=nullptr)
 \qmltype Image \instantiates QQuickImage \inqmlmodule QtQuick\inherits Item
 
 ~QQuickImage ()
 
FillMode fillMode () const
 \qmlproperty enumeration QtQuick::Image::fillMode
 
void setFillMode (FillMode)
 
qreal paintedWidth () const
 \qmlproperty real QtQuick::Image::paintedWidth \qmlproperty real QtQuick::Image::paintedHeight \readonly
 
qreal paintedHeight () const
 
QRectF boundingRect () const override
 Returns the extents of the item in its own coordinate system: a rectangle from {0, 0} to \l width() and \l height().
 
HAlignment horizontalAlignment () const
 
void setHorizontalAlignment (HAlignment align)
 
VAlignment verticalAlignment () const
 
void setVerticalAlignment (VAlignment align)
 
bool isTextureProvider () const override
 Returns true if this item is a texture provider.
 
QSGTextureProvidertextureProvider () const override
 Returns the texture provider for an item.
 
bool mipmap () const
 \qmlproperty bool QtQuick::Image::mipmap
 
void setMipmap (bool use)
 
void emitAutoTransformBaseChanged () override
 
- Public Member Functions inherited from QQuickImageBase
 QQuickImageBase (QQuickItem *parent=nullptr)
 
 ~QQuickImageBase ()
 
Status status () const
 
qreal progress () const
 
QUrl source () const
 
virtual void setSource (const QUrl &url)
 
bool asynchronous () const
 
void setAsynchronous (bool)
 
bool cache () const
 
void setCache (bool)
 
QImage image () const
 
virtual void setSourceSize (const QSize &)
 
QSize sourceSize () const
 
void resetSourceSize ()
 
QRectF sourceClipRect () const
 
void setSourceClipRect (const QRectF &r)
 
void resetSourceClipRect ()
 
virtual void setMirror (bool mirror)
 
bool mirror () const
 
virtual void setMirrorVertically (bool mirror)
 
bool mirrorVertically () const
 
virtual void setCurrentFrame (int frame)
 
virtual int currentFrame () const
 
virtual int frameCount () const
 
virtual void setAutoTransform (bool transform)
 
bool autoTransform () const
 
QColorSpace colorSpace () const
 
virtual void setColorSpace (const QColorSpace &colorSpace)
 
- Public Member Functions inherited from QQuickItem
 QQuickItem (QQuickItem *parent=nullptr)
 Constructs a QQuickItem with the given parent.
 
 ~QQuickItem () override
 Destroys the QQuickItem.
 
QQuickWindowwindow () const
 Returns the window in which this item is rendered.
 
QQuickItemparentItem () const
 
void setParentItem (QQuickItem *parent)
 
void stackBefore (const QQuickItem *)
 Moves the specified sibling item to the index before this item within the list of children.
 
void stackAfter (const QQuickItem *)
 Moves the specified sibling item to the index after this item within the list of children.
 
QRectF childrenRect ()
 \qmlpropertygroup QtQuick::Item::childrenRect \qmlproperty real QtQuick::Item::childrenRect.x \qmlproperty real QtQuick::Item::childrenRect.y \qmlproperty real QtQuick::Item::childrenRect.width \qmlproperty real QtQuick::Item::childrenRect.height \readonly
 
QList< QQuickItem * > childItems () const
 Returns the children of this item.
 
bool clip () const
 \qmlproperty bool QtQuick::Item::clip This property holds whether clipping is enabled.
 
void setClip (bool)
 
QString state () const
 \qmlproperty string QtQuick::Item::state
 
void setState (const QString &)
 
qreal baselineOffset () const
 \qmlproperty int QtQuick::Item::baselineOffset
 
void setBaselineOffset (qreal)
 
QQmlListProperty< QQuickTransformtransform ()
 
qreal x () const
 
qreal y () const
 
QPointF position () const
 
void setX (qreal)
 
void setY (qreal)
 
void setPosition (const QPointF &)
 
QBindable< qrealbindableX ()
 
QBindable< qrealbindableY ()
 
qreal width () const
 
void setWidth (qreal)
 
void resetWidth ()
 
void setImplicitWidth (qreal)
 
qreal implicitWidth () const
 Returns the width of the item that is implied by other properties that determine the content.
 
QBindable< qrealbindableWidth ()
 
qreal height () const
 
void setHeight (qreal)
 
void resetHeight ()
 
void setImplicitHeight (qreal)
 
qreal implicitHeight () const
 
QBindable< qrealbindableHeight ()
 
QSizeF size () const
 
void setSize (const QSizeF &size)
 
TransformOrigin transformOrigin () const
 
void setTransformOrigin (TransformOrigin)
 
QPointF transformOriginPoint () const
 
void setTransformOriginPoint (const QPointF &)
 
qreal z () const
 
void setZ (qreal)
 
qreal rotation () const
 
void setRotation (qreal)
 
qreal scale () const
 
void setScale (qreal)
 
qreal opacity () const
 
void setOpacity (qreal)
 
bool isVisible () const
 
void setVisible (bool)
 
bool isEnabled () const
 
void setEnabled (bool)
 
bool smooth () const
 
void setSmooth (bool)
 
bool activeFocusOnTab () const
 \qmlproperty bool QtQuick::Item::activeFocusOnTab
 
void setActiveFocusOnTab (bool)
 
bool antialiasing () const
 
void setAntialiasing (bool)
 
void resetAntialiasing ()
 
Flags flags () const
 Returns the item flags for this item.
 
void setFlag (Flag flag, bool enabled=true)
 Enables the specified flag for this item if enabled is true; if enabled is false, the flag is disabled.
 
void setFlags (Flags flags)
 Enables the specified flags for this item.
 
virtual QRectF clipRect () const
 Returns the rectangular area within this item that is currently visible in \l viewportItem(), if there is a viewport and the \l ItemObservesViewport flag is set; otherwise, the extents of this item in its own coordinate system: a rectangle from {0, 0} to \l width() and \l height().
 
QQuickItemviewportItem () const
 If the \l ItemObservesViewport flag is set, returns the nearest parent with the \l ItemIsViewport flag.
 
bool hasActiveFocus () const
 
bool hasFocus () const
 
void setFocus (bool)
 
void setFocus (bool focus, Qt::FocusReason reason)
 
bool isFocusScope () const
 Returns true if this item is a focus scope, and false otherwise.
 
QQuickItemscopedFocusItem () const
 If this item is a focus scope, this returns the item in its focus chain that currently has focus.
 
Qt::FocusPolicy focusPolicy () const
 
void setFocusPolicy (Qt::FocusPolicy policy)
 Sets the focus policy of this item to policy.
 
bool isAncestorOf (const QQuickItem *child) const
 Returns true if this item is an ancestor of child (i.e., if this item is child's parent, or one of child's parent's ancestors).
 
Qt::MouseButtons acceptedMouseButtons () const
 Returns the mouse buttons accepted by this item.
 
void setAcceptedMouseButtons (Qt::MouseButtons buttons)
 Sets the mouse buttons accepted by this item to buttons.
 
bool acceptHoverEvents () const
 Returns whether hover events are accepted by this item.
 
void setAcceptHoverEvents (bool enabled)
 If enabled is true, this sets the item to accept hover events; otherwise, hover events are not accepted by this item.
 
bool acceptTouchEvents () const
 Returns whether touch events are accepted by this item.
 
void setAcceptTouchEvents (bool accept)
 If enabled is true, this sets the item to accept touch events; otherwise, touch events are not accepted by this item.
 
bool isUnderMouse () const
 
void grabMouse ()
 
void ungrabMouse ()
 
bool keepMouseGrab () const
 Returns whether mouse input should exclusively remain with this item.
 
void setKeepMouseGrab (bool)
 Sets whether the mouse input should remain exclusively with this item.
 
bool filtersChildMouseEvents () const
 Returns whether pointer events intended for this item's children should be filtered through this item.
 
void setFiltersChildMouseEvents (bool filter)
 Sets whether pointer events intended for this item's children should be filtered through this item.
 
void grabTouchPoints (const QList< int > &ids)
 
void ungrabTouchPoints ()
 
bool keepTouchGrab () const
 Returns whether the touch points grabbed by this item should exclusively remain with this item.
 
void setKeepTouchGrab (bool)
 Sets whether the touch points grabbed by this item should remain exclusively with this item.
 
 Q_REVISION (2, 4) Q_INVOKABLE bool grabToImage(const QJSValue &callback
 
QSharedPointer< QQuickItemGrabResultgrabToImage (const QSize &targetSize=QSize())
 Grabs the item into an in-memory image.
 
virtual Q_INVOKABLE bool contains (const QPointF &point) const
 \qmlmethod bool QtQuick::Item::contains(point point)
 
QObjectcontainmentMask () const
 
void setContainmentMask (QObject *mask)
 
QTransform itemTransform (QQuickItem *, bool *) const
 \qmlmethod point QtQuick::Item::mapFromItem(Item item, real x, real y) \qmlmethod point QtQuick::Item::mapFromItem(Item item, point p) \qmlmethod rect QtQuick::Item::mapFromItem(Item item, real x, real y, real width, real height) \qmlmethod rect QtQuick::Item::mapFromItem(Item item, rect r)
 
QPointF mapToScene (const QPointF &point) const
 Maps the given point in this item's coordinate system to the equivalent point within the scene's coordinate system, and returns the mapped coordinate.
 
QRectF mapRectToItem (const QQuickItem *item, const QRectF &rect) const
 Maps the given rect in this item's coordinate system to the equivalent rectangular area within item's coordinate system, and returns the mapped rectangle value.
 
QRectF mapRectToScene (const QRectF &rect) const
 Maps the given rect in this item's coordinate system to the equivalent rectangular area within the scene's coordinate system, and returns the mapped rectangle value.
 
QPointF mapFromScene (const QPointF &point) const
 Maps the given point in the scene's coordinate system to the equivalent point within this item's coordinate system, and returns the mapped coordinate.
 
QRectF mapRectFromItem (const QQuickItem *item, const QRectF &rect) const
 Maps the given rect in item's coordinate system to the equivalent rectangular area within this item's coordinate system, and returns the mapped rectangle value.
 
QRectF mapRectFromScene (const QRectF &rect) const
 Maps the given rect in the scene's coordinate system to the equivalent rectangular area within this item's coordinate system, and returns the mapped rectangle value.
 
void polish ()
 Schedules a polish event for this item.
 
Q_INVOKABLE QPointF mapFromItem (const QQuickItem *item, const QPointF &point) const
 Maps the given point in item's coordinate system to the equivalent point within this item's coordinate system, and returns the mapped coordinate.
 
Q_INVOKABLE QPointF mapFromItem (const QQuickItem *item, qreal x, qreal y)
 
Q_INVOKABLE QRectF mapFromItem (const QQuickItem *item, const QRectF &rect) const
 
Q_INVOKABLE QRectF mapFromItem (const QQuickItem *item, qreal x, qreal y, qreal width, qreal height) const
 
Q_INVOKABLE QPointF mapToItem (const QQuickItem *item, const QPointF &point) const
 Maps the given point in this item's coordinate system to the equivalent point within item's coordinate system, and returns the mapped coordinate.
 
Q_INVOKABLE QPointF mapToItem (const QQuickItem *item, qreal x, qreal y)
 
Q_INVOKABLE QRectF mapToItem (const QQuickItem *item, const QRectF &rect) const
 
Q_INVOKABLE QRectF mapToItem (const QQuickItem *item, qreal x, qreal y, qreal width, qreal height) const
 
 Q_REVISION (2, 7) Q_INVOKABLE QPointF mapFromGlobal(qreal x
 
 Q_REVISION (2, 7) Q_INVOKABLE QPointF mapFromGlobal(const QPointF &point) const
 
 Q_REVISION (2, 7) Q_INVOKABLE QPointF mapToGlobal(qreal x
 
 Q_REVISION (2, 7) Q_INVOKABLE QPointF mapToGlobal(const QPointF &point) const
 
Q_INVOKABLE void forceActiveFocus ()
 \qmlmethod point QtQuick::Item::mapToItem(Item item, real x, real y) \qmlmethod point QtQuick::Item::mapToItem(Item item, point p) \qmlmethod rect QtQuick::Item::mapToItem(Item item, real x, real y, real width, real height) \qmlmethod rect QtQuick::Item::mapToItem(Item item, rect r)
 
Q_INVOKABLE void forceActiveFocus (Qt::FocusReason reason)
 \qmlmethod QtQuick::Item::forceActiveFocus(Qt::FocusReason reason) This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.Forces active focus on the item with the given reason.
 
 Q_REVISION (2, 1) Q_INVOKABLE QQuickItem *nextItemInFocusChain(bool forward
 
Q_INVOKABLE QQuickItemchildAt (qreal x, qreal y) const
 \qmlmethod QtQuick::Item::childAt(real x, real y)
 
 Q_REVISION (6, 3) Q_INVOKABLE void ensurePolished()
 
 Q_REVISION (6, 3) Q_INVOKABLE void dumpItemTree() const
 
- Public Member Functions inherited from QObject
Q_INVOKABLE QObject (QObject *parent=nullptr)
 Constructs an object with parent object parent.
 
virtual ~QObject ()
 Destroys the object, deleting all its child objects.
 
virtual bool eventFilter (QObject *watched, QEvent *event)
 Filters events if this object has been installed as an event filter for the watched object.
 
QString objectName () const
 
Q_WEAK_OVERLOAD void setObjectName (const QString &name)
 Sets the object's name to name.
 
void setObjectName (QAnyStringView name)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
QBindable< QStringbindableObjectName ()
 
bool isWidgetType () const
 Returns true if the object is a widget; otherwise returns false.
 
bool isWindowType () const
 Returns true if the object is a window; otherwise returns false.
 
bool isQuickItemType () const
 Returns true if the object is a QQuickItem; otherwise returns false.
 
bool signalsBlocked () const noexcept
 Returns true if signals are blocked; otherwise returns false.
 
bool blockSignals (bool b) noexcept
 If block is true, signals emitted by this object are blocked (i.e., emitting a signal will not invoke anything connected to it).
 
QThreadthread () const
 Returns the thread in which the object lives.
 
bool moveToThread (QThread *thread QT6_DECL_NEW_OVERLOAD_TAIL)
 Changes the thread affinity for this object and its children and returns true on success.
 
int startTimer (int interval, Qt::TimerType timerType=Qt::CoarseTimer)
 This is an overloaded function that will start a timer of type timerType and a timeout of interval milliseconds.
 
int startTimer (std::chrono::nanoseconds time, Qt::TimerType timerType=Qt::CoarseTimer)
 
void killTimer (int id)
 Kills the timer with timer identifier, id.
 
void killTimer (Qt::TimerId id)
 
template<typename T >
findChild (QAnyStringView aName, Qt::FindChildOptions options=Qt::FindChildrenRecursively) const
 Returns the child of this object that can be cast into type T and that is called name, or \nullptr if there is no such object.
 
template<typename T >
QList< T > findChildren (QAnyStringView aName, Qt::FindChildOptions options=Qt::FindChildrenRecursively) const
 Returns all children of this object with the given name that can be cast to type T, or an empty list if there are no such objects.
 
template<typename T >
findChild (Qt::FindChildOptions options=Qt::FindChildrenRecursively) const
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
template<typename T >
QList< T > findChildren (Qt::FindChildOptions options=Qt::FindChildrenRecursively) const
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
const QObjectListchildren () const
 Returns a list of child objects.
 
void setParent (QObject *parent)
 Makes the object a child of parent.
 
void installEventFilter (QObject *filterObj)
 Installs an event filter filterObj on this object.
 
void removeEventFilter (QObject *obj)
 Removes an event filter object obj from this object.
 
QMetaObject::Connection connect (const QObject *sender, const char *signal, const char *member, Qt::ConnectionType type=Qt::AutoConnection) const
 
bool disconnect (const char *signal=nullptr, const QObject *receiver=nullptr, const char *member=nullptr) const
 
bool disconnect (const QObject *receiver, const char *member=nullptr) const
 
void dumpObjectTree () const
 Dumps a tree of children to the debug output.
 
void dumpObjectInfo () const
 Dumps information about signal connections, etc.
 
bool setProperty (const char *name, const QVariant &value)
 Sets the value of the object's name property to value.
 
bool setProperty (const char *name, QVariant &&value)
 
QVariant property (const char *name) const
 Returns the value of the object's name property.
 
QList< QByteArraydynamicPropertyNames () const
 
QBindingStoragebindingStorage ()
 
const QBindingStoragebindingStorage () const
 
QObjectparent () const
 Returns a pointer to the parent object.
 
bool inherits (const char *classname) const
 Returns true if this object is an instance of a class that inherits className or a QObject subclass that inherits className; otherwise returns false.
 
- Public Member Functions inherited from QQmlParserStatus
 QQmlParserStatus ()
 
virtual ~QQmlParserStatus ()
 

Protected Member Functions

 QQuickImage (QQuickImagePrivate &dd, QQuickItem *parent)
 
void pixmapChange () override
 
void updatePaintedGeometry ()
 \qmlproperty enumeration QtQuick::Image::status \readonly
 
void releaseResources () override
 This function is called when an item should release graphics resources which are not already managed by the nodes returned from QQuickItem::updatePaintNode().
 
void geometryChange (const QRectF &newGeometry, const QRectF &oldGeometry) override
 
QSGNodeupdatePaintNode (QSGNode *, UpdatePaintNodeData *) override
 Called on the render thread when it is time to sync the state of the item with the scene graph.
 
- Protected Member Functions inherited from QQuickImageBase
void loadEmptyUrl ()
 
void loadPixmap (const QUrl &url, LoadPixmapOptions loadOptions=NoOption)
 
virtual void load ()
 
void componentComplete () override
 Invoked after the root component that caused this instantiation has completed construction.
 
void itemChange (ItemChange change, const ItemChangeData &value) override
 Called when change occurs for this item.
 
 QQuickImageBase (QQuickImageBasePrivate &dd, QQuickItem *parent)
 
- Protected Member Functions inherited from QQuickImplicitSizeItem
 QQuickImplicitSizeItem (QQuickImplicitSizeItemPrivate &dd, QQuickItem *parent)
 
- Protected Member Functions inherited from QQuickItem
bool event (QEvent *) override
 \reimp
 
bool isComponentComplete () const
 Returns true if construction of the QML component is complete; otherwise returns false.
 
bool widthValid () const
 Returns whether the width property has been set explicitly.
 
bool heightValid () const
 Returns whether the height property has been set explicitly.
 
void setImplicitSize (qreal, qreal)
 
void classBegin () override
 \reimp Derived classes should call the base class method before adding their own action to perform at classBegin.
 
void componentComplete () override
 \reimp Derived classes should call the base class method before adding their own actions to perform at componentComplete.
 
virtual void keyPressEvent (QKeyEvent *event)
 This event handler can be reimplemented in a subclass to receive key press events for an item.
 
virtual void keyReleaseEvent (QKeyEvent *event)
 This event handler can be reimplemented in a subclass to receive key release events for an item.
 
virtual void focusInEvent (QFocusEvent *)
 This event handler can be reimplemented in a subclass to receive focus-in events for an item.
 
virtual void focusOutEvent (QFocusEvent *)
 This event handler can be reimplemented in a subclass to receive focus-out events for an item.
 
virtual void mousePressEvent (QMouseEvent *event)
 This event handler can be reimplemented in a subclass to receive mouse press events for an item.
 
virtual void mouseMoveEvent (QMouseEvent *event)
 This event handler can be reimplemented in a subclass to receive mouse move events for an item.
 
virtual void mouseReleaseEvent (QMouseEvent *event)
 This event handler can be reimplemented in a subclass to receive mouse release events for an item.
 
virtual void mouseDoubleClickEvent (QMouseEvent *event)
 This event handler can be reimplemented in a subclass to receive mouse double-click events for an item.
 
virtual void mouseUngrabEvent ()
 This event handler can be reimplemented in a subclass to be notified when a mouse ungrab event has occurred on this item.
 
virtual void touchUngrabEvent ()
 This event handler can be reimplemented in a subclass to be notified when a touch ungrab event has occurred on this item.
 
virtual void touchEvent (QTouchEvent *event)
 This event handler can be reimplemented in a subclass to receive touch events for an item.
 
virtual void hoverEnterEvent (QHoverEvent *event)
 This event handler can be reimplemented in a subclass to receive hover-enter events for an item.
 
virtual void hoverMoveEvent (QHoverEvent *event)
 This event handler can be reimplemented in a subclass to receive hover-move events for an item.
 
virtual void hoverLeaveEvent (QHoverEvent *event)
 This event handler can be reimplemented in a subclass to receive hover-leave events for an item.
 
virtual bool childMouseEventFilter (QQuickItem *, QEvent *)
 Reimplement this method to filter the pointer events that are received by this item's children.
 
virtual void updatePolish ()
 This function should perform any layout as required for this item.
 
 QQuickItem (QQuickItemPrivate &dd, QQuickItem *parent=nullptr)
 
- Protected Member Functions inherited from QObject
QObjectsender () const
 Returns a pointer to the object that sent the signal, if called in a slot activated by a signal; otherwise it returns \nullptr.
 
int senderSignalIndex () const
 
int receivers (const char *signal) const
 Returns the number of receivers connected to the signal.
 
bool isSignalConnected (const QMetaMethod &signal) const
 
virtual void timerEvent (QTimerEvent *event)
 This event handler can be reimplemented in a subclass to receive timer events for the object.
 
virtual void childEvent (QChildEvent *event)
 This event handler can be reimplemented in a subclass to receive child events.
 
virtual void customEvent (QEvent *event)
 This event handler can be reimplemented in a subclass to receive custom events.
 
virtual void connectNotify (const QMetaMethod &signal)
 
virtual void disconnectNotify (const QMetaMethod &signal)
 
 QObject (QObjectPrivate &dd, QObject *parent=nullptr)
 

Properties

FillMode fillMode
 
qreal paintedWidth
 
qreal paintedHeight
 
HAlignment horizontalAlignment
 
VAlignment verticalAlignment
 
QSize sourceSize
 
bool mipmap
 
bool autoTransform
 
QRectF sourceClipRect
 
- Properties inherited from QQuickImageBase
Status status
 
QUrl source
 
qreal progress
 
bool asynchronous
 
bool cache
 
bool mirror
 
bool mirrorVertically
 
int currentFrame
 
int frameCount
 
QColorSpace colorSpace
 
- Properties inherited from QQuickImplicitSizeItem
qreal implicitWidth
 
qreal implicitHeight
 
- Properties inherited from QQuickItem
QQuickItemparent
 \qmlproperty Item QtQuick::Item::parent This property holds the visual parent of the item.
 
qreal x
 \qmlproperty real QtQuick::Item::x \qmlproperty real QtQuick::Item::y \qmlproperty real QtQuick::Item::width \qmlproperty real QtQuick::Item::height
 
qreal y
 Defines the item's y position relative to its parent.
 
qreal z
 \qmlproperty real QtQuick::Item::z
 
qreal width
 This property holds the width of this item.
 
qreal height
 This property holds the height of this item.
 
qreal opacity
 \qmlproperty real QtQuick::Item::opacity
 
bool enabled
 \qmlproperty bool QtQuick::Item::enabled
 
bool visible
 \qmlproperty bool QtQuick::Item::visible
 
Qt::FocusPolicy focusPolicy
 \qmlproperty enumeration QtQuick::Item::focusPolicy
 
qreal rotation
 \qmlproperty real QtQuick::Item::rotation This property holds the rotation of the item in degrees clockwise around its transformOrigin.
 
qreal scale
 \qmlproperty real QtQuick::Item::scale This property holds the scale factor for this item.
 
TransformOrigin transformOrigin
 \qmlproperty enumeration QtQuick::Item::transformOrigin This property holds the origin point around which scale and rotation transform.
 
QPointF transformOriginPoint
 
QQmlListProperty< QQuickTransformtransform
 \qmlproperty list<Transform> QtQuick::Item::transform This property holds the list of transformations to apply.
 
bool smooth
 \qmlproperty bool QtQuick::Item::smooth
 
bool antialiasing
 \qmlproperty bool QtQuick::Item::antialiasing
 
qreal implicitWidth
 
qreal implicitHeight
 
QObjectcontainmentMask
 \qmlproperty QObject* QtQuick::Item::containmentMask
 
- Properties inherited from QObject
QString objectName
 the name of this object
 

Additional Inherited Members

- Public Slots inherited from QQuickItem
void update ()
 Schedules a call to updatePaintNode() for this item.
 
- Public Slots inherited from QObject
void deleteLater ()
 \threadsafe
 
- Static Public Member Functions inherited from QQuickImageBase
static void resolve2xLocalFile (const QUrl &url, qreal targetDevicePixelRatio, QUrl *sourceUrl, qreal *sourceDevicePixelRatio)
 
- Static Public Member Functions inherited from QObject
static QMetaObject::Connection connect (const QObject *sender, const char *signal, const QObject *receiver, const char *member, Qt::ConnectionType=Qt::AutoConnection)
 \threadsafe
 
static QMetaObject::Connection connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type=Qt::AutoConnection)
 
template<typename Func1 , typename Func2 >
static QMetaObject::Connection connect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const typename QtPrivate::ContextTypeForFunctor< Func2 >::ContextType *context, Func2 &&slot, Qt::ConnectionType type=Qt::AutoConnection)
 
template<typename Func1 , typename Func2 >
static QMetaObject::Connection connect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, Func2 &&slot)
 
static bool disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *member)
 \threadsafe
 
static bool disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &member)
 
static bool disconnect (const QMetaObject::Connection &)
 Disconnect a connection.
 
template<typename Func1 , typename Func2 >
static bool disconnect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const typename QtPrivate::FunctionPointer< Func2 >::Object *receiver, Func2 slot)
 
template<typename Func1 >
static bool disconnect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const QObject *receiver, void **zero)
 
- Public Attributes inherited from QQuickItem
const QSizetargetSize = QSize())
 
qreal y const
 
- Protected Attributes inherited from QObject
QScopedPointer< QObjectDatad_ptr
 

Detailed Description

Definition at line 24 of file qquickimage_p.h.

Member Enumeration Documentation

◆ FillMode

Enumerator
Stretch 
PreserveAspectFit 
PreserveAspectCrop 
Tile 
TileVertically 
TileHorizontally 
Pad 

Definition at line 53 of file qquickimage_p.h.

◆ HAlignment

Enumerator
AlignLeft 
AlignRight 
AlignHCenter 

Definition at line 44 of file qquickimage_p.h.

◆ VAlignment

Enumerator
AlignTop 
AlignBottom 
AlignVCenter 

Definition at line 48 of file qquickimage_p.h.

Constructor & Destructor Documentation

◆ QQuickImage() [1/2]

QQuickImage::QQuickImage ( QQuickItem * parent = nullptr)

\qmltype Image \instantiates QQuickImage \inqmlmodule QtQuick\inherits Item

Displays an image.

The Image type displays an image.

The source of the image is specified as a URL using the \l source property. Images can be supplied in any of the standard image formats supported by Qt, including bitmap formats such as PNG and JPEG, and vector graphics formats such as SVG. If you need to display animated images, use \l AnimatedSprite or \l AnimatedImage.

If the \l{Item::width}{width} and \l{Item::height}{height} properties are not specified, the Image automatically uses the size of the loaded image. By default, specifying the width and height of the item causes the image to be scaled to that size. This behavior can be changed by setting the \l fillMode property, allowing the image to be stretched and tiled instead.

Definition at line 198 of file qquickimage.cpp.

◆ ~QQuickImage()

QQuickImage::~QQuickImage ( )

Definition at line 208 of file qquickimage.cpp.

References d, QQuickWindowQObjectCleanupJob::schedule(), and QQuickItem::window().

+ Here is the call graph for this function:

◆ QQuickImage() [2/2]

QQuickImage::QQuickImage ( QQuickImagePrivate & dd,
QQuickItem * parent )
protected

Definition at line 203 of file qquickimage.cpp.

Member Function Documentation

◆ boundingRect()

QRectF QQuickImage::boundingRect ( ) const
overridevirtual

Returns the extents of the item in its own coordinate system: a rectangle from {0, 0} to \l width() and \l height().

Reimplemented from QQuickItem.

Definition at line 661 of file qquickimage.cpp.

References d, QQuickItem::height, qMax(), and QQuickItem::width.

+ Here is the call graph for this function:

◆ emitAutoTransformBaseChanged()

void QQuickImage::emitAutoTransformBaseChanged ( )
inlineoverridevirtual

Reimplemented from QQuickImageBase.

Definition at line 76 of file qquickimage_p.h.

References Q_EMIT.

◆ fillMode()

QQuickImage::FillMode QQuickImage::fillMode ( ) const

\qmlproperty enumeration QtQuick::Image::fillMode

Set this property to define what happens when the source image has a different size than the item.

\value Image.Stretch the image is scaled to fit \value Image.PreserveAspectFit the image is scaled uniformly to fit without cropping \value Image.PreserveAspectCrop the image is scaled uniformly to fill, cropping if necessary \value Image.Tile the image is duplicated horizontally and vertically \value Image.TileVertically the image is stretched horizontally and tiled vertically \value Image.TileHorizontally the image is stretched vertically and tiled horizontally \value Image.Pad the image is not transformed \br

\table

\row

  • Stretch (default) \qml Image { width: 130; height: 100 source: "qtlogo.png" } \endqml

\row

  • PreserveAspectFit \qml Image { width: 130; height: 100 fillMode: Image.PreserveAspectFit source: "qtlogo.png" } \endqml

\row

  • PreserveAspectCrop \qml Image { width: 130; height: 100 fillMode: Image.PreserveAspectCrop source: "qtlogo.png" clip: true } \endqml

\row

  • Tile \qml Image { width: 120; height: 120 fillMode: Image.Tile horizontalAlignment: Image.AlignLeft verticalAlignment: Image.AlignTop source: "qtlogo.png" } \endqml

\row

  • TileVertically \qml Image { width: 120; height: 120 fillMode: Image.TileVertically verticalAlignment: Image.AlignTop source: "qtlogo.png" } \endqml

\row

  • TileHorizontally \qml Image { width: 120; height: 120 fillMode: Image.TileHorizontally verticalAlignment: Image.AlignLeft source: "qtlogo.png" } \endqml

\endtable

Note that clip is false by default which means that the item might paint outside its bounding rectangle even if the fillMode is set to PreserveAspectCrop.

See also
{Qt Quick Examples - Image Elements}

Definition at line 328 of file qquickimage.cpp.

References d.

◆ fillModeChanged

void QQuickImage::fillModeChanged ( )
signal

Referenced by setFillMode(), and QGfxSourceProxy::setInput().

+ Here is the caller graph for this function:

◆ geometryChange()

void QQuickImage::geometryChange ( const QRectF & newGeometry,
const QRectF & oldGeometry )
overrideprotectedvirtual
Since
6.0

This function is called to handle this item's changes in geometry from oldGeometry to newGeometry. If the two geometries are the same, it doesn't do anything.

Derived classes must call the base class method within their implementation.

Reimplemented from QQuickItem.

Definition at line 654 of file qquickimage.cpp.

References QQuickItem::geometryChange(), QRectF::size(), and updatePaintedGeometry().

Referenced by QQuickIconImage::geometryChange().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ horizontalAlignment()

QQuickImage::HAlignment QQuickImage::horizontalAlignment ( ) const

Definition at line 894 of file qquickimage.cpp.

References d.

◆ horizontalAlignmentChanged

void QQuickImage::horizontalAlignmentChanged ( HAlignment alignment)
signal

Referenced by setHorizontalAlignment().

+ Here is the caller graph for this function:

◆ isTextureProvider()

bool QQuickImage::isTextureProvider ( ) const
inlineoverridevirtual

Returns true if this item is a texture provider.

The default implementation returns false.

This function can be called from any thread.

Reimplemented from QQuickItem.

Definition at line 70 of file qquickimage_p.h.

◆ mipmap()

bool QQuickImage::mipmap ( ) const

\qmlproperty bool QtQuick::Image::mipmap

Since
5.3

This property holds whether the image uses mipmap filtering when scaled or transformed.

Mipmap filtering gives better visual quality when scaling down compared to smooth, but it may come at a performance cost (both when initializing the image and during rendering).

By default, this property is set to false.

See also
smooth

Definition at line 928 of file qquickimage.cpp.

References d.

◆ paintedGeometryChanged

void QQuickImage::paintedGeometryChanged ( )
signal

Referenced by updatePaintedGeometry().

+ Here is the caller graph for this function:

◆ paintedHeight()

qreal QQuickImage::paintedHeight ( ) const

Definition at line 371 of file qquickimage.cpp.

References d.

◆ paintedWidth()

qreal QQuickImage::paintedWidth ( ) const

\qmlproperty real QtQuick::Image::paintedWidth \qmlproperty real QtQuick::Image::paintedHeight \readonly

These properties hold the size of the image that is actually painted. In most cases it is the same as width and height, but when using an \l {fillMode}{Image.PreserveAspectFit} or an \l {fillMode}{Image.PreserveAspectCrop} paintedWidth or paintedHeight can be smaller or larger than width and height of the Image item.

Definition at line 365 of file qquickimage.cpp.

References d.

◆ pixmapChange()

void QQuickImage::pixmapChange ( )
overrideprotectedvirtual

Reimplemented from QQuickImageBase.

Reimplemented in QQuickNinePatchImage.

Definition at line 860 of file qquickimage.cpp.

References d, QQuickImageBase::pixmapChange(), PreserveAspectFit, QQuickItem::update(), and updatePaintedGeometry().

Referenced by QQuickPdfPageImage::load(), QQuickColorImage::pixmapChange(), QQuickIconImage::pixmapChange(), and QQuickNinePatchImage::pixmapChange().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ Q_REVISION [1/2]

QQuickImage::Q_REVISION ( 2 ,
3  )
signal

◆ Q_REVISION [2/2]

QQuickImage::Q_REVISION ( 2 ,
5  )
signal

◆ releaseResources()

void QQuickImage::releaseResources ( )
overrideprotectedvirtual

This function is called when an item should release graphics resources which are not already managed by the nodes returned from QQuickItem::updatePaintNode().

This happens when the item is about to be removed from the window it was previously rendering to. The item is guaranteed to have a \l {QQuickItem::window()}{window} when the function is called.

The function is called on the GUI thread and the state of the rendering thread, when it is used, is unknown. Objects should not be deleted directly, but instead scheduled for cleanup using QQuickWindow::scheduleRenderJob().

See also
{Graphics Resource Handling}

Reimplemented from QQuickItem.

Definition at line 701 of file qquickimage.cpp.

References d, QQuickWindowQObjectCleanupJob::schedule(), and QQuickItem::window().

+ Here is the call graph for this function:

◆ setFillMode()

void QQuickImage::setFillMode ( FillMode mode)

Definition at line 334 of file qquickimage.cpp.

References d, emit, fillModeChanged(), QQuickItem::isComponentComplete(), QQuickImageBase::load(), PreserveAspectCrop, PreserveAspectFit, QQuickItem::update(), and updatePaintedGeometry().

Referenced by QQuickIconImage::QQuickIconImage().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setHorizontalAlignment()

void QQuickImage::setHorizontalAlignment ( HAlignment align)

Definition at line 900 of file qquickimage.cpp.

References d, emit, horizontalAlignmentChanged(), QQuickItem::update(), and updatePaintedGeometry().

+ Here is the call graph for this function:

◆ setMipmap()

void QQuickImage::setMipmap ( bool use)

Definition at line 934 of file qquickimage.cpp.

References d, emit, QQuickItem::isComponentComplete(), QQuickImageBase::load(), and QQuickItem::update().

+ Here is the call graph for this function:

◆ setVerticalAlignment()

void QQuickImage::setVerticalAlignment ( VAlignment align)

Definition at line 882 of file qquickimage.cpp.

References d, emit, QQuickItem::update(), updatePaintedGeometry(), and verticalAlignmentChanged().

+ Here is the call graph for this function:

◆ textureProvider()

QSGTextureProvider * QQuickImage::textureProvider ( ) const
overridevirtual

Returns the texture provider for an item.

The default implementation returns \nullptr.

This function may only be called on the rendering thread.

Reimplemented from QQuickItem.

Definition at line 667 of file qquickimage.cpp.

References QThread::currentThread(), d, QQuickItem::isTextureProvider(), QQuickImageTextureProvider::m_mipmap, QQuickImageTextureProvider::m_smooth, QQuickImagePrivate::provider, qWarning, QQuickItem::textureProvider(), QQuickImageTextureProvider::updateTexture(), and QQuickItem::window().

+ Here is the call graph for this function:

◆ updatePaintedGeometry()

void QQuickImage::updatePaintedGeometry ( )
protected

\qmlproperty enumeration QtQuick::Image::status \readonly

This property holds the status of image loading. It can be one of:

\value Image.Null No image has been set \value Image.Ready The image has been loaded \value Image.Loading The image is currently being loaded \value Image.Error An error occurred while loading the image

Use this status to provide an update or respond to the status change in some way. For example, you could:

\list

  • Trigger a state change: \qml State { name: 'loaded'; when: image.status == Image.Ready } \endqml
  • Implement an onStatusChanged signal handler: \qml Image { id: image onStatusChanged: if (image.status == Image.Ready) console.log('Loaded') } \endqml
  • Bind to the status value: \qml Text { text: image.status == Image.Ready ? 'Loaded' : 'Not loaded' } \endqml \endlist
See also
progress

\qmlproperty real QtQuick::Image::progress \readonly

This property holds the progress of image loading, from 0.0 (nothing loaded) to 1.0 (finished).

See also
status

\qmlproperty bool QtQuick::Image::smooth

This property holds whether the image is smoothly filtered when scaled or transformed. Smooth filtering gives better visual quality, but it may be slower on some hardware. If the image is displayed at its natural size, this property has no visual or performance effect.

By default, this property is set to true.

See also
mipmap

\qmlproperty size QtQuick::Image::sourceSize

This property holds the scaled width and height of the full-frame image.

Unlike the \l {Item::}{width} and \l {Item::}{height} properties, which scale the painting of the image, this property sets the maximum number of pixels stored for the loaded image so that large images do not use more memory than necessary. For example, this ensures the image in memory is no larger than 1024x1024 pixels, regardless of the Image's \l {Item::}{width} and \l {Item::}{height} values:

Rectangle {
width: ...
height: ...
Image {
source: "reallyBigImage.jpg"
}
}
QQuickItem * fill
qreal width
This property holds the width of this item.
Definition qquickitem.h:75
QQuickItem * parent
\qmlproperty Item QtQuick::Item::parent This property holds the visual parent of the item.
Definition qquickitem.h:67
qreal height
This property holds the height of this item.
Definition qquickitem.h:76
constexpr int height() const noexcept
Returns the height.
Definition qsize.h:132
constexpr int width() const noexcept
Returns the width.
Definition qsize.h:129
QQuickAnchors * anchors(QQuickItem *item)

If the image's actual size is larger than the sourceSize, the image is scaled down. If only one dimension of the size is set to greater than 0, the other dimension is set in proportion to preserve the source image's aspect ratio. (The \l fillMode is independent of this.)

If both the sourceSize.width and sourceSize.height are set, the image will be scaled down to fit within the specified size (unless PreserveAspectCrop or PreserveAspectFit are used, then it will be scaled to match the optimal size for cropping/fitting), maintaining the image's aspect ratio. The actual size of the image after scaling is available via \l Item::implicitWidth and \l Item::implicitHeight.

If the source is an intrinsically scalable image (eg. SVG), this property determines the size of the loaded image regardless of intrinsic size. Avoid changing this property dynamically; rendering an SVG is slow compared to an image.

If the source is a non-scalable image (eg. JPEG), the loaded image will be no greater than this property specifies. For some formats (currently only JPEG), the whole image will never actually be loaded into memory.

If the \l sourceClipRect property is also set, sourceSize determines the scale, but it will be clipped to the size of the clip rectangle.

sourceSize can be cleared to the natural size of the image by setting sourceSize to undefined.

Note
{Changing this property dynamically causes the image source to be reloaded, potentially even from the network, if it is not in the disk cache.}
See also
{Qt Quick Examples - Pointer Handlers}

\qmlproperty rect QtQuick::Image::sourceClipRect

Since
5.15

This property, if set, holds the rectangular region of the source image to be loaded.

The sourceClipRect works together with the \l sourceSize property to conserve system resources when only a portion of an image needs to be loaded.

Rectangle {
width: ...
height: ...
Image {
source: "reallyBigImage.svg"
sourceClipRect: Qt.rect(100, 100, 512, 512)
}
}
QRectF sourceClipRect
Definition qcompare.h:63

In the above example, we conceptually scale the SVG graphic to 1024x1024 first, and then cut out a region of interest that is 512x512 pixels from a location 100 pixels from the top and left edges. Thus sourceSize determines the scale, but the actual output image is 512x512 pixels.

Some image formats are able to conserve CPU time by rendering only the specified region. Others will need to load the entire image first and then clip it to the specified region.

This property can be cleared to reload the entire image by setting sourceClipRect to undefined.

Note
{Changing this property dynamically causes the image source to be reloaded, potentially even from the network, if it is not in the disk cache.}
Sub-pixel clipping is not supported: the given rectangle will be passed to \l QImageReader::setScaledClipRect().

\qmlproperty url QtQuick::Image::source

Image can handle any image format supported by Qt, loaded from any URL scheme supported by Qt.

The URL may be absolute, or relative to the URL of the component.

See also
QQuickImageProvider, {Compressed Texture Files}, {Automatic Detection of File Extension}

\qmlproperty bool QtQuick::Image::asynchronous

Specifies that images on the local filesystem should be loaded asynchronously in a separate thread. The default value is false, causing the user interface thread to block while the image is loaded. Setting asynchronous to true is useful where maintaining a responsive user interface is more desirable than having images immediately visible.

Note that this property is only valid for images read from the local filesystem. Images loaded via a network resource (e.g. HTTP) are always loaded asynchronously.

\qmlproperty bool QtQuick::Image::cache

Specifies whether the image should be cached. The default value is true. Setting cache to false is useful when dealing with large images, to make sure that they aren't cached at the expense of small 'ui element' images.

\qmlproperty bool QtQuick::Image::mirror

This property holds whether the image should be horizontally inverted (effectively displaying a mirrored image).

The default value is false.

\qmlproperty bool QtQuick::Image::mirrorVertically

This property holds whether the image should be vertically inverted (effectively displaying a mirrored image).

The default value is false.

Since
6.2

\qmlproperty enumeration QtQuick::Image::horizontalAlignment \qmlproperty enumeration QtQuick::Image::verticalAlignment

Sets the horizontal and vertical alignment of the image. By default, the image is center aligned.

The valid values for horizontalAlignment are Image.AlignLeft, Image.AlignRight and Image.AlignHCenter. The valid values for verticalAlignment are Image.AlignTop, Image.AlignBottom and Image.AlignVCenter.

Definition at line 603 of file qquickimage.cpp.

References d, emit, QQuickItem::height, QQuickItem::heightValid(), Pad, paintedGeometryChanged(), PreserveAspectCrop, PreserveAspectFit, QQuickItem::setImplicitSize(), QQuickItem::width, and QQuickItem::widthValid().

Referenced by geometryChange(), pixmapChange(), setFillMode(), setHorizontalAlignment(), and setVerticalAlignment().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ updatePaintNode()

QSGNode * QQuickImage::updatePaintNode ( QSGNode * oldNode,
UpdatePaintNodeData * updatePaintNodeData )
overrideprotectedvirtual

Called on the render thread when it is time to sync the state of the item with the scene graph.

The function is called as a result of QQuickItem::update(), if the user has set the QQuickItem::ItemHasContents flag on the item.

The function should return the root of the scene graph subtree for this item. Most implementations will return a single QSGGeometryNode containing the visual representation of this item. oldNode is the node that was returned the last time the function was called. updatePaintNodeData provides a pointer to the QSGTransformNode associated with this QQuickItem.

QSGNode *MyItem::updatePaintNode(QSGNode *node, UpdatePaintNodeData *)
{
QSGSimpleRectNode *n = static_cast<QSGSimpleRectNode *>(node);
if (!n) {
n->setColor(Qt::red);
}
n->setRect(boundingRect());
return n;
}
QRectF boundingRect() const override
Returns the extents of the item in its own coordinate system: a rectangle from {0,...
\group qtquick-scenegraph-nodes \title Qt Quick Scene Graph Node classes
Definition qsgnode.h:37
The QSGSimpleRectNode class is a convenience class for drawing solid filled rectangles using scenegra...
@ red
Definition qnamespace.h:35
GLfloat n

The main thread is blocked while this function is executed so it is safe to read values from the QQuickItem instance and other objects in the main thread.

If no call to QQuickItem::updatePaintNode() result in actual scene graph changes, like QSGNode::markDirty() or adding and removing nodes, then the underlying implementation may decide to not render the scene again as the visual outcome is identical.

Warning
It is crucial that graphics operations and interaction with the scene graph happens exclusively on the render thread, primarily during the QQuickItem::updatePaintNode() call. The best rule of thumb is to only use classes with the "QSG" prefix inside the QQuickItem::updatePaintNode() function.
This function is called on the render thread. This means any QObjects or thread local storage that is created will have affinity to the render thread, so apply caution when doing anything other than rendering in this function. Similarly for signals, these will be emitted on the render thread and will thus often be delivered via queued connections.
Note
All classes with QSG prefix should be used solely on the scene graph's rendering thread. See \l {Scene Graph and Rendering} for more information.
See also
QSGMaterial, QSGGeometryNode, QSGGeometry, QSGFlatColorMaterial, QSGTextureMaterial, QSGNode::markDirty(), {Graphics Resource Handling}

Reimplemented from QQuickItem.

Reimplemented in QQuickNinePatchImage.

Definition at line 710 of file qquickimage.cpp.

References AlignBottom, AlignHCenter, AlignRight, AlignVCenter, QSGTexture::ClampToEdge, d, QRectF::height(), QQuickItem::height, QSGTexture::Linear, QSGTexture::Nearest, QSGTexture::None, Pad, PreserveAspectCrop, PreserveAspectFit, qCeil(), qMin(), qt_is_finite(), QSGTexture::Repeat, QSGInternalImageNode::setAntialiasing(), QSGInternalImageNode::setFiltering(), QSGInternalImageNode::setHorizontalWrapMode(), QSGInternalImageNode::setInnerTargetRect(), QSGInternalImageNode::setMipmapFiltering(), QSGInternalImageNode::setMirror(), QSGInternalImageNode::setSubSourceRect(), QSGInternalImageNode::setTargetRect(), QSGInternalImageNode::setTexture(), QSGInternalImageNode::setVerticalWrapMode(), Stretch, Tile, TileHorizontally, TileVertically, QSGInternalImageNode::update(), QRectF::width(), QQuickItem::width, QQuickItem::window(), QRectF::x(), and QRectF::y().

Referenced by QQuickNinePatchImage::updatePaintNode().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ verticalAlignment()

QQuickImage::VAlignment QQuickImage::verticalAlignment ( ) const

Definition at line 876 of file qquickimage.cpp.

References d.

◆ verticalAlignmentChanged

void QQuickImage::verticalAlignmentChanged ( VAlignment alignment)
signal

Referenced by setVerticalAlignment().

+ Here is the caller graph for this function:

Property Documentation

◆ autoTransform

bool QQuickImage::autoTransform
readwrite

Definition at line 35 of file qquickimage_p.h.

◆ fillMode

FillMode QQuickImage::fillMode
readwrite

Definition at line 28 of file qquickimage_p.h.

◆ horizontalAlignment

HAlignment QQuickImage::horizontalAlignment
readwrite

Definition at line 31 of file qquickimage_p.h.

◆ mipmap

bool QQuickImage::mipmap
readwrite

Definition at line 34 of file qquickimage_p.h.

◆ paintedHeight

qreal QQuickImage::paintedHeight
read

Definition at line 30 of file qquickimage_p.h.

◆ paintedWidth

qreal QQuickImage::paintedWidth
read

Definition at line 29 of file qquickimage_p.h.

◆ sourceClipRect

QRectF QQuickImage::sourceClipRect
readwrite

Definition at line 36 of file qquickimage_p.h.

◆ sourceSize

QSize QQuickImage::sourceSize
readwrite

Definition at line 33 of file qquickimage_p.h.

Referenced by QQuickAnimatedImage::load().

◆ verticalAlignment

VAlignment QQuickImage::verticalAlignment
readwrite

Definition at line 32 of file qquickimage_p.h.


The documentation for this class was generated from the following files: