63class Q_QUICK_EXPORT
QQuickItem :
public QObject,
public QQmlParserStatus
66 Q_INTERFACES(QQmlParserStatus)
68 Q_PROPERTY(QQuickItem *parent READ parentItem WRITE setParentItem NOTIFY parentChanged DESIGNABLE
false FINAL)
69 Q_PRIVATE_PROPERTY(QQuickItem::d_func(), QQmlListProperty<QObject> data READ data DESIGNABLE
false VIRTUAL)
70 Q_PRIVATE_PROPERTY(QQuickItem::d_func(), QQmlListProperty<QObject> resources READ resources DESIGNABLE
false)
71 Q_PRIVATE_PROPERTY(QQuickItem::d_func(), QQmlListProperty<QQuickItem> children READ children NOTIFY childrenChanged DESIGNABLE
false)
73 Q_PROPERTY(qreal x READ x WRITE setX NOTIFY xChanged BINDABLE bindableX FINAL)
74 Q_PROPERTY(qreal y READ y WRITE setY NOTIFY yChanged BINDABLE bindableY FINAL)
75 Q_PROPERTY(qreal z READ z WRITE setZ NOTIFY zChanged FINAL)
76 Q_PROPERTY(qreal width READ width WRITE setWidth NOTIFY widthChanged RESET resetWidth BINDABLE bindableWidth FINAL)
77 Q_PROPERTY(qreal height READ height WRITE setHeight NOTIFY heightChanged RESET resetHeight BINDABLE bindableHeight FINAL)
79 Q_PROPERTY(qreal opacity READ opacity WRITE setOpacity NOTIFY opacityChanged FINAL)
80 Q_PROPERTY(
bool enabled READ isEnabled WRITE setEnabled NOTIFY enabledChanged VIRTUAL)
81 Q_PROPERTY(
bool visible READ isVisible WRITE setVisible NOTIFY visibleChanged FINAL)
82 Q_PRIVATE_PROPERTY(QQuickItem::d_func(), QQuickPalette *palette READ palette WRITE setPalette RESET resetPalette NOTIFY paletteChanged VIRTUAL REVISION(6, 0))
83 Q_PRIVATE_PROPERTY(QQuickItem::d_func(), QQmlListProperty<QQuickItem> visibleChildren READ visibleChildren NOTIFY visibleChildrenChanged DESIGNABLE
false)
85 Q_PRIVATE_PROPERTY(QQuickItem::d_func(), QQmlListProperty<QQuickState> states READ states DESIGNABLE
false)
86 Q_PRIVATE_PROPERTY(QQuickItem::d_func(), QQmlListProperty<QQuickTransition> transitions READ transitions DESIGNABLE
false)
87 Q_PROPERTY(QString state READ state WRITE setState NOTIFY stateChanged)
88 Q_PROPERTY(QRectF childrenRect READ childrenRect NOTIFY childrenRectChanged DESIGNABLE
false FINAL)
89 Q_PRIVATE_PROPERTY(QQuickItem::d_func(), QQuickAnchors * anchors READ anchors DESIGNABLE
false CONSTANT FINAL)
90 Q_PRIVATE_PROPERTY(QQuickItem::d_func(), QQuickAnchorLine left READ left CONSTANT FINAL)
91 Q_PRIVATE_PROPERTY(QQuickItem::d_func(), QQuickAnchorLine right READ right CONSTANT FINAL)
92 Q_PRIVATE_PROPERTY(QQuickItem::d_func(), QQuickAnchorLine horizontalCenter READ horizontalCenter CONSTANT FINAL)
93 Q_PRIVATE_PROPERTY(QQuickItem::d_func(), QQuickAnchorLine top READ top CONSTANT FINAL)
94 Q_PRIVATE_PROPERTY(QQuickItem::d_func(), QQuickAnchorLine bottom READ bottom CONSTANT FINAL)
95 Q_PRIVATE_PROPERTY(QQuickItem::d_func(), QQuickAnchorLine verticalCenter READ verticalCenter CONSTANT FINAL)
96 Q_PRIVATE_PROPERTY(QQuickItem::d_func(), QQuickAnchorLine baseline READ baseline CONSTANT FINAL)
97 Q_PROPERTY(qreal baselineOffset READ baselineOffset WRITE setBaselineOffset NOTIFY baselineOffsetChanged VIRTUAL)
99 Q_PROPERTY(
bool clip READ clip WRITE setClip NOTIFY clipChanged)
101 Q_PROPERTY(
bool focus READ hasFocus WRITE setFocus NOTIFY focusChanged FINAL)
102 Q_PROPERTY(
bool activeFocus READ hasActiveFocus NOTIFY activeFocusChanged FINAL)
103 Q_PROPERTY(
bool activeFocusOnTab READ activeFocusOnTab WRITE setActiveFocusOnTab NOTIFY activeFocusOnTabChanged FINAL REVISION(2, 1))
105 Q_PROPERTY(Qt::FocusPolicy focusPolicy READ focusPolicy WRITE setFocusPolicy NOTIFY focusPolicyChanged VIRTUAL REVISION(6, 7))
107 Q_PROPERTY(qreal rotation READ rotation WRITE setRotation NOTIFY rotationChanged VIRTUAL)
108 Q_PROPERTY(qreal scale READ scale WRITE setScale NOTIFY scaleChanged)
109 Q_PROPERTY(TransformOrigin transformOrigin READ transformOrigin WRITE setTransformOrigin NOTIFY transformOriginChanged)
110 Q_PROPERTY(QPointF transformOriginPoint READ transformOriginPoint)
111 Q_PROPERTY(QQmlListProperty<QQuickTransform> transform READ transform DESIGNABLE
false FINAL)
113 Q_PROPERTY(
bool smooth READ smooth WRITE setSmooth NOTIFY smoothChanged)
114 Q_PROPERTY(
bool antialiasing READ antialiasing WRITE setAntialiasing NOTIFY antialiasingChanged RESET resetAntialiasing)
115 Q_PROPERTY(qreal implicitWidth READ implicitWidth WRITE setImplicitWidth NOTIFY implicitWidthChanged VIRTUAL)
116 Q_PROPERTY(qreal implicitHeight READ implicitHeight WRITE setImplicitHeight NOTIFY implicitHeightChanged VIRTUAL)
117 Q_PROPERTY(QObject *containmentMask READ containmentMask WRITE setContainmentMask NOTIFY containmentMaskChanged REVISION(2, 11))
119 Q_PROPERTY(
int mutabilityGroup READ mutabilityGroup WRITE setMutabilityGroup NOTIFY mutabilityGroupChanged REVISION(6, 12))
121#if QT_CONFIG(quick_shadereffect)
122 Q_PRIVATE_PROPERTY(QQuickItem::d_func(), QQuickItemLayer *layer READ layer DESIGNABLE
false CONSTANT FINAL)
125 Q_CLASSINFO(
"DefaultProperty",
"data")
126 Q_CLASSINFO(
"ParentProperty",
"parent")
127 Q_CLASSINFO(
"qt_QmlJSWrapperFactoryMethod",
"_q_createJSWrapper(QQmlV4ExecutionEnginePtr)")
128 QML_NAMED_ELEMENT(Item)
129 QML_ADDED_IN_VERSION(2, 0)
133 ItemClipsChildrenToShape = 0x01,
135 ItemAcceptsInputMethod = 0x02,
137 ItemIsFocusScope = 0x04,
138 ItemHasContents = 0x08,
139 ItemAcceptsDrops = 0x10,
140 ItemIsViewport = 0x20,
141 ItemObservesViewport = 0x40,
144 Q_DECLARE_FLAGS(Flags, Flag)
148 ItemChildAddedChange,
149 ItemChildRemovedChange,
151 ItemVisibleHasChanged,
152 ItemParentHasChanged,
153 ItemOpacityHasChanged,
154 ItemActiveFocusHasChanged,
155 ItemRotationHasChanged,
156 ItemAntialiasingHasChanged,
157 ItemDevicePixelRatioHasChanged,
158 ItemEnabledHasChanged,
160 ItemTransformHasChanged,
164 enum MutabilityGroup : quint8 {
165 AutoMutabilityGroup = 0x0,
166 StaticMutabilityGroup = 0x1,
167 ModerateMutabilityGroup = 0x8,
168 DynamicMutabilityGroup = 0xf,
171 Q_ENUM(MutabilityGroup)
173 union ItemChangeData {
174 ItemChangeData(QQuickItem *v) : item(v) {}
175 ItemChangeData(QQuickWindow *v) : window(v) {}
176 ItemChangeData(qreal v) : realValue(v) {}
177 ItemChangeData(
bool v) : boolValue(v) {}
180 QQuickWindow *window;
185 enum TransformOrigin {
186 TopLeft, Top, TopRight,
188 BottomLeft, Bottom, BottomRight
190 Q_ENUM(TransformOrigin)
192 explicit QQuickItem(QQuickItem *parent =
nullptr);
193 ~QQuickItem() override;
195 QQuickWindow *window()
const;
196 QQuickItem *parentItem()
const;
197 void setParentItem(QQuickItem *parent);
198 void stackBefore(
const QQuickItem *);
199 void stackAfter(
const QQuickItem *);
201 QRectF childrenRect();
202 QList<QQuickItem *> childItems()
const;
207 QString state()
const;
208 void setState(
const QString &);
210 qreal baselineOffset()
const;
211 void setBaselineOffset(qreal);
213 QQmlListProperty<QQuickTransform> transform();
217 QPointF position()
const;
220 void setPosition(
const QPointF &);
221 QBindable<qreal> bindableX();
222 QBindable<qreal> bindableY();
225 void setWidth(qreal);
227 void setImplicitWidth(qreal);
228 qreal implicitWidth()
const;
229 QBindable<qreal> bindableWidth();
231 qreal height()
const;
232 void setHeight(qreal);
234 void setImplicitHeight(qreal);
235 qreal implicitHeight()
const;
236 QBindable<qreal> bindableHeight();
239 void setSize(
const QSizeF &size);
241 TransformOrigin transformOrigin()
const;
242 void setTransformOrigin(TransformOrigin);
243 QPointF transformOriginPoint()
const;
244 void setTransformOriginPoint(
const QPointF &);
249 qreal rotation()
const;
250 void setRotation(qreal);
252 void setScale(qreal);
254 qreal opacity()
const;
255 void setOpacity(qreal);
257 bool isVisible()
const;
258 void setVisible(
bool);
260 bool isEnabled()
const;
261 void setEnabled(
bool);
264 void setSmooth(
bool);
266 bool activeFocusOnTab()
const;
267 void setActiveFocusOnTab(
bool);
269 bool antialiasing()
const;
270 void setAntialiasing(
bool);
271 void resetAntialiasing();
274 void setFlag(Flag flag,
bool enabled =
true);
275 void setFlags(Flags flags);
277 virtual QRectF boundingRect()
const;
278 virtual QRectF clipRect()
const;
279 QQuickItem *viewportItem()
const;
281 bool hasActiveFocus()
const;
282 bool hasFocus()
const;
284 void setFocus(
bool focus, Qt::FocusReason reason);
285 bool isFocusScope()
const;
286 QQuickItem *scopedFocusItem()
const;
288 Qt::FocusPolicy focusPolicy()
const;
289 void setFocusPolicy(Qt::FocusPolicy policy);
291 bool isAncestorOf(
const QQuickItem *child)
const;
293 Qt::MouseButtons acceptedMouseButtons()
const;
294 void setAcceptedMouseButtons(Qt::MouseButtons buttons);
295 bool acceptHoverEvents()
const;
296 void setAcceptHoverEvents(
bool enabled);
297 bool acceptTouchEvents()
const;
298 void setAcceptTouchEvents(
bool accept);
301 QCursor cursor()
const;
302 void setCursor(
const QCursor &cursor);
306 bool isUnderMouse()
const;
309 bool keepMouseGrab()
const;
310 void setKeepMouseGrab(
bool);
311 bool filtersChildMouseEvents()
const;
312 void setFiltersChildMouseEvents(
bool filter);
314 void grabTouchPoints(
const QList<
int> &ids);
315 void ungrabTouchPoints();
316 bool keepTouchGrab()
const;
317 void setKeepTouchGrab(
bool);
320 Q_REVISION(2, 4) Q_INVOKABLE
bool grabToImage(
const QJSValue &callback,
const QSize &targetSize = QSize());
321 QSharedPointer<QQuickItemGrabResult> grabToImage(
const QSize &targetSize = QSize());
323 Q_INVOKABLE
virtual bool contains(
const QPointF &point)
const;
324 QObject *containmentMask()
const;
325 void setContainmentMask(QObject *mask);
327 QTransform itemTransform(QQuickItem *,
bool *)
const;
328 QPointF mapToScene(
const QPointF &point)
const;
329 QRectF mapRectToItem(
const QQuickItem *item,
const QRectF &rect)
const;
330 QRectF mapRectToScene(
const QRectF &rect)
const;
331 QPointF mapFromScene(
const QPointF &point)
const;
332 QRectF mapRectFromItem(
const QQuickItem *item,
const QRectF &rect)
const;
333 QRectF mapRectFromScene(
const QRectF &rect)
const;
337#if QT_DEPRECATED_SINCE(6
, 5
)
338 QT_DEPRECATED_VERSION_X_6_5(
"Use typed overload or mapRectFromItem")
339 void mapFromItem(QQmlV4FunctionPtr)
const;
341 Q_INVOKABLE QPointF mapFromItem(
const QQuickItem *item,
const QPointF &point)
const;
343 Q_INVOKABLE QPointF mapFromItem(
const QQuickItem *item, qreal x, qreal y);
344 Q_INVOKABLE QRectF mapFromItem(
const QQuickItem *item,
const QRectF &rect)
const;
345 Q_INVOKABLE QRectF mapFromItem(
const QQuickItem *item, qreal x, qreal y, qreal width, qreal height)
const;
347#if QT_DEPRECATED_SINCE(6
, 5
)
348 QT_DEPRECATED_VERSION_X_6_5(
"Use typed overload or mapRectToItem")
349 void mapToItem(QQmlV4FunctionPtr)
const;
351 Q_INVOKABLE QPointF mapToItem(
const QQuickItem *item,
const QPointF &point)
const;
353 Q_INVOKABLE QPointF mapToItem(
const QQuickItem *item, qreal x, qreal y);
354 Q_INVOKABLE QRectF mapToItem(
const QQuickItem *item,
const QRectF &rect)
const;
355 Q_INVOKABLE QRectF mapToItem(
const QQuickItem *item, qreal x, qreal y, qreal width, qreal height)
const;
357#if QT_DEPRECATED_SINCE(6
, 5
)
358 QT_DEPRECATED_VERSION_X_6_5(
"Use the typed overload")
359 Q_REVISION(2, 7)
void mapFromGlobal(QQmlV4FunctionPtr)
const;
361 Q_REVISION(2, 7) Q_INVOKABLE QPointF mapFromGlobal(qreal x, qreal y)
const;
363 Q_REVISION(2, 7) Q_INVOKABLE QPointF mapFromGlobal(
const QPointF &point)
const;
365#if QT_DEPRECATED_SINCE(6
, 5
)
366 QT_DEPRECATED_VERSION_X_6_5(
"Use the typed overload")
367 Q_REVISION(2, 7)
void mapToGlobal(QQmlV4FunctionPtr)
const;
369 Q_REVISION(2, 7) Q_INVOKABLE QPointF mapToGlobal(qreal x, qreal y)
const;
371 Q_REVISION(2, 7) Q_INVOKABLE QPointF mapToGlobal(
const QPointF &point)
const;
373 Q_INVOKABLE
void forceActiveFocus();
374 Q_INVOKABLE
void forceActiveFocus(Qt::FocusReason reason);
375 Q_REVISION(2, 1) Q_INVOKABLE QQuickItem *nextItemInFocusChain(
bool forward =
true);
376 Q_INVOKABLE QQuickItem *childAt(qreal x, qreal y)
const;
377 Q_REVISION(6, 3) Q_INVOKABLE
void ensurePolished();
379 Q_REVISION(6, 3) Q_INVOKABLE
void dumpItemTree()
const;
382 virtual QVariant inputMethodQuery(Qt::InputMethodQuery query)
const;
385 struct UpdatePaintNodeData {
386 QSGTransformNode *transformNode;
388 friend class QQuickWindowPrivate;
389 UpdatePaintNodeData();
392 virtual bool isTextureProvider()
const;
393 virtual QSGTextureProvider *textureProvider()
const;
395 void setMutabilityGroup(
int mutabilityGroup);
396 int mutabilityGroup()
const;
402 void childrenRectChanged(
const QRectF &);
403 void baselineOffsetChanged(qreal);
404 void stateChanged(
const QString &);
405 void focusChanged(
bool);
406 void activeFocusChanged(
bool);
407 Q_REVISION(6, 7)
void focusPolicyChanged(Qt::FocusPolicy);
408 Q_REVISION(2, 1)
void activeFocusOnTabChanged(
bool);
409 void parentChanged(QQuickItem *);
410 void transformOriginChanged(TransformOrigin);
411 void smoothChanged(
bool);
412 void antialiasingChanged(
bool);
413 void clipChanged(
bool);
414 Q_REVISION(2, 1)
void windowChanged(QQuickWindow* window);
416 void childrenChanged();
417 void opacityChanged();
418 void enabledChanged();
419 void visibleChanged();
420 void visibleChildrenChanged();
421 void rotationChanged();
427 void heightChanged();
429 void implicitWidthChanged();
430 void implicitHeightChanged();
431 Q_REVISION(2, 11)
void containmentMaskChanged();
433 Q_REVISION(6, 0)
void paletteChanged();
434 Q_REVISION(6, 0)
void paletteCreated();
436 Q_REVISION(6, 12)
void mutabilityGroupChanged();
439 bool event(QEvent *) override;
441 bool isComponentComplete()
const;
442 virtual void itemChange(ItemChange,
const ItemChangeData &);
443 virtual void geometryChange(
const QRectF &newGeometry,
const QRectF &oldGeometry);
446 void updateInputMethod(Qt::InputMethodQueries queries = Qt::ImQueryInput);
449 bool widthValid()
const;
450 bool heightValid()
const;
451 void setImplicitSize(qreal, qreal);
453 void classBegin() override;
454 void componentComplete() override;
456 virtual void keyPressEvent(QKeyEvent *event);
457 virtual void keyReleaseEvent(QKeyEvent *event);
459 virtual void inputMethodEvent(QInputMethodEvent *);
461 virtual void focusInEvent(QFocusEvent *);
462 virtual void focusOutEvent(QFocusEvent *);
463 virtual void mousePressEvent(QMouseEvent *event);
464 virtual void mouseMoveEvent(QMouseEvent *event);
465 virtual void mouseReleaseEvent(QMouseEvent *event);
466 virtual void mouseDoubleClickEvent(QMouseEvent *event);
467 virtual void mouseUngrabEvent();
468 virtual void touchUngrabEvent();
469#if QT_CONFIG(wheelevent)
470 virtual void wheelEvent(QWheelEvent *event);
472 virtual void touchEvent(QTouchEvent *event);
473 virtual void hoverEnterEvent(QHoverEvent *event);
474 virtual void hoverMoveEvent(QHoverEvent *event);
475 virtual void hoverLeaveEvent(QHoverEvent *event);
476#if QT_CONFIG(quick_draganddrop)
477 virtual void dragEnterEvent(QDragEnterEvent *);
478 virtual void dragMoveEvent(QDragMoveEvent *);
479 virtual void dragLeaveEvent(QDragLeaveEvent *);
480 virtual void dropEvent(QDropEvent *);
482 virtual bool childMouseEventFilter(QQuickItem *, QEvent *);
483#if QT_VERSION >= QT_VERSION_CHECK(7
, 0
, 0
)
484 virtual bool contextMenuEvent(QContextMenuEvent *event);
487 virtual QSGNode *updatePaintNode(QSGNode *, UpdatePaintNodeData *);
488 virtual void releaseResources();
489 virtual void updatePolish();
491 QQuickItem(QQuickItemPrivate &dd, QQuickItem *parent =
nullptr);
494 Q_PRIVATE_SLOT(d_func(),
void _q_resourceObjectDeleted(QObject *))
495 Q_PRIVATE_SLOT(d_func(), quint64 _q_createJSWrapper(QQmlV4ExecutionEnginePtr))
497 friend class QQuickWindowPrivate;
498 friend class QQuickDeliveryAgentPrivate;
499 friend class QSGRenderer;
500 friend class QAccessibleQuickItem;
501 friend class QQuickAccessibleAttached;
502 friend class QQuickAnchorChanges;
503#ifndef QT_NO_DEBUG_STREAM
504 friend Q_QUICK_EXPORT QDebug operator<<(QDebug debug, QQuickItem *item);
507 Q_DISABLE_COPY(QQuickItem)
508 Q_DECLARE_PRIVATE(QQuickItem)