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))
120 Q_PROPERTY(
int mutabilityGroup READ mutabilityGroup WRITE setMutabilityGroup NOTIFY mutabilityGroupChanged REVISION(6, 12))
122#if QT_CONFIG(quick_shadereffect)
123 Q_PRIVATE_PROPERTY(QQuickItem::d_func(), QQuickItemLayer *layer READ layer DESIGNABLE
false CONSTANT FINAL)
126 Q_CLASSINFO(
"DefaultProperty",
"data")
127 Q_CLASSINFO(
"ParentProperty",
"parent")
128 Q_CLASSINFO(
"qt_QmlJSWrapperFactoryMethod",
"_q_createJSWrapper(QQmlV4ExecutionEnginePtr)")
129 QML_NAMED_ELEMENT(Item)
130 QML_ADDED_IN_VERSION(2, 0)
134 ItemClipsChildrenToShape = 0x01,
136 ItemAcceptsInputMethod = 0x02,
138 ItemIsFocusScope = 0x04,
139 ItemHasContents = 0x08,
140 ItemAcceptsDrops = 0x10,
141 ItemIsViewport = 0x20,
142 ItemObservesViewport = 0x40,
145 Q_DECLARE_FLAGS(Flags, Flag)
149 ItemChildAddedChange,
150 ItemChildRemovedChange,
152 ItemVisibleHasChanged,
153 ItemParentHasChanged,
154 ItemOpacityHasChanged,
155 ItemActiveFocusHasChanged,
156 ItemRotationHasChanged,
157 ItemAntialiasingHasChanged,
158 ItemDevicePixelRatioHasChanged,
159 ItemEnabledHasChanged,
161 ItemTransformHasChanged,
165 enum MutabilityGroup :
int {
166 AutoMutabilityGroup = 0x0,
167 StaticMutabilityGroup = 0x1,
168 ModerateMutabilityGroup = 0x8,
169 DynamicMutabilityGroup = 0xf,
172 Q_ENUM(MutabilityGroup)
174 union ItemChangeData {
175 ItemChangeData(QQuickItem *v) : item(v) {}
176 ItemChangeData(QQuickWindow *v) : window(v) {}
177 ItemChangeData(qreal v) : realValue(v) {}
178 ItemChangeData(
bool v) : boolValue(v) {}
181 QQuickWindow *window;
186 enum TransformOrigin {
187 TopLeft, Top, TopRight,
189 BottomLeft, Bottom, BottomRight
191 Q_ENUM(TransformOrigin)
193 explicit QQuickItem(QQuickItem *parent =
nullptr);
194 ~QQuickItem() override;
196 QQuickWindow *window()
const;
197 QQuickItem *parentItem()
const;
198 void setParentItem(QQuickItem *parent);
199 void stackBefore(
const QQuickItem *);
200 void stackAfter(
const QQuickItem *);
202 QRectF childrenRect();
203 QList<QQuickItem *> childItems()
const;
208 QString state()
const;
209 void setState(
const QString &);
211 qreal baselineOffset()
const;
212 void setBaselineOffset(qreal);
214 QQmlListProperty<QQuickTransform> transform();
218 QPointF position()
const;
221 void setPosition(
const QPointF &);
222 QBindable<qreal> bindableX();
223 QBindable<qreal> bindableY();
226 void setWidth(qreal);
228 void setImplicitWidth(qreal);
229 qreal implicitWidth()
const;
230 QBindable<qreal> bindableWidth();
232 qreal height()
const;
233 void setHeight(qreal);
235 void setImplicitHeight(qreal);
236 qreal implicitHeight()
const;
237 QBindable<qreal> bindableHeight();
240 void setSize(
const QSizeF &size);
242 TransformOrigin transformOrigin()
const;
243 void setTransformOrigin(TransformOrigin);
244 QPointF transformOriginPoint()
const;
245 void setTransformOriginPoint(
const QPointF &);
250 qreal rotation()
const;
251 void setRotation(qreal);
253 void setScale(qreal);
255 qreal opacity()
const;
256 void setOpacity(qreal);
258 bool isVisible()
const;
259 void setVisible(
bool);
261 bool isEnabled()
const;
262 void setEnabled(
bool);
265 void setSmooth(
bool);
267 bool activeFocusOnTab()
const;
268 void setActiveFocusOnTab(
bool);
270 bool antialiasing()
const;
271 void setAntialiasing(
bool);
272 void resetAntialiasing();
275 void setFlag(Flag flag,
bool enabled =
true);
276 void setFlags(Flags flags);
278 virtual QRectF boundingRect()
const;
279 virtual QRectF clipRect()
const;
280 QQuickItem *viewportItem()
const;
282 bool hasActiveFocus()
const;
283 bool hasFocus()
const;
285 void setFocus(
bool focus, Qt::FocusReason reason);
286 bool isFocusScope()
const;
287 QQuickItem *scopedFocusItem()
const;
289 Qt::FocusPolicy focusPolicy()
const;
290 void setFocusPolicy(Qt::FocusPolicy policy);
292 bool isAncestorOf(
const QQuickItem *child)
const;
294 Qt::MouseButtons acceptedMouseButtons()
const;
295 void setAcceptedMouseButtons(Qt::MouseButtons buttons);
296 bool acceptHoverEvents()
const;
297 void setAcceptHoverEvents(
bool enabled);
298 bool acceptTouchEvents()
const;
299 void setAcceptTouchEvents(
bool accept);
302 QCursor cursor()
const;
303 void setCursor(
const QCursor &cursor);
307 bool isUnderMouse()
const;
310 bool keepMouseGrab()
const;
311 void setKeepMouseGrab(
bool);
312 bool filtersChildMouseEvents()
const;
313 void setFiltersChildMouseEvents(
bool filter);
315 void grabTouchPoints(
const QList<
int> &ids);
316 void ungrabTouchPoints();
317 bool keepTouchGrab()
const;
318 void setKeepTouchGrab(
bool);
321 Q_REVISION(2, 4) Q_INVOKABLE
bool grabToImage(
const QJSValue &callback,
const QSize &targetSize = QSize());
322 QSharedPointer<QQuickItemGrabResult> grabToImage(
const QSize &targetSize = QSize());
324 Q_INVOKABLE
virtual bool contains(
const QPointF &point)
const;
325 QObject *containmentMask()
const;
326 void setContainmentMask(QObject *mask);
328 QTransform itemTransform(QQuickItem *,
bool *)
const;
329 QPointF mapToScene(
const QPointF &point)
const;
330 QRectF mapRectToItem(
const QQuickItem *item,
const QRectF &rect)
const;
331 QRectF mapRectToScene(
const QRectF &rect)
const;
332 QPointF mapFromScene(
const QPointF &point)
const;
333 QRectF mapRectFromItem(
const QQuickItem *item,
const QRectF &rect)
const;
334 QRectF mapRectFromScene(
const QRectF &rect)
const;
338#if QT_DEPRECATED_SINCE(6
, 5
)
339 QT_DEPRECATED_VERSION_X_6_5(
"Use typed overload or mapRectFromItem")
340 void mapFromItem(QQmlV4FunctionPtr)
const;
342 Q_INVOKABLE QPointF mapFromItem(
const QQuickItem *item,
const QPointF &point)
const;
344 Q_INVOKABLE QPointF mapFromItem(
const QQuickItem *item, qreal x, qreal y);
345 Q_INVOKABLE QRectF mapFromItem(
const QQuickItem *item,
const QRectF &rect)
const;
346 Q_INVOKABLE QRectF mapFromItem(
const QQuickItem *item, qreal x, qreal y, qreal width, qreal height)
const;
348#if QT_DEPRECATED_SINCE(6
, 5
)
349 QT_DEPRECATED_VERSION_X_6_5(
"Use typed overload or mapRectToItem")
350 void mapToItem(QQmlV4FunctionPtr)
const;
352 Q_INVOKABLE QPointF mapToItem(
const QQuickItem *item,
const QPointF &point)
const;
354 Q_INVOKABLE QPointF mapToItem(
const QQuickItem *item, qreal x, qreal y);
355 Q_INVOKABLE QRectF mapToItem(
const QQuickItem *item,
const QRectF &rect)
const;
356 Q_INVOKABLE QRectF mapToItem(
const QQuickItem *item, qreal x, qreal y, qreal width, qreal height)
const;
358#if QT_DEPRECATED_SINCE(6
, 5
)
359 QT_DEPRECATED_VERSION_X_6_5(
"Use the typed overload")
360 Q_REVISION(2, 7)
void mapFromGlobal(QQmlV4FunctionPtr)
const;
362 Q_REVISION(2, 7) Q_INVOKABLE QPointF mapFromGlobal(qreal x, qreal y)
const;
364 Q_REVISION(2, 7) Q_INVOKABLE QPointF mapFromGlobal(
const QPointF &point)
const;
366#if QT_DEPRECATED_SINCE(6
, 5
)
367 QT_DEPRECATED_VERSION_X_6_5(
"Use the typed overload")
368 Q_REVISION(2, 7)
void mapToGlobal(QQmlV4FunctionPtr)
const;
370 Q_REVISION(2, 7) Q_INVOKABLE QPointF mapToGlobal(qreal x, qreal y)
const;
372 Q_REVISION(2, 7) Q_INVOKABLE QPointF mapToGlobal(
const QPointF &point)
const;
374 Q_INVOKABLE
void forceActiveFocus();
375 Q_INVOKABLE
void forceActiveFocus(Qt::FocusReason reason);
376 Q_REVISION(2, 1) Q_INVOKABLE QQuickItem *nextItemInFocusChain(
bool forward =
true);
377 Q_INVOKABLE QQuickItem *childAt(qreal x, qreal y)
const;
378 Q_REVISION(6, 3) Q_INVOKABLE
void ensurePolished();
380 Q_REVISION(6, 3) Q_INVOKABLE
void dumpItemTree()
const;
383 virtual QVariant inputMethodQuery(Qt::InputMethodQuery query)
const;
386 struct UpdatePaintNodeData {
387 QSGTransformNode *transformNode;
389 friend class QQuickWindowPrivate;
390 UpdatePaintNodeData();
393 virtual bool isTextureProvider()
const;
394 virtual QSGTextureProvider *textureProvider()
const;
397 void setMutabilityGroup(
int mutabilityGroup);
398 int mutabilityGroup()
const;
404 void childrenRectChanged(
const QRectF &);
405 void baselineOffsetChanged(qreal);
406 void stateChanged(
const QString &);
407 void focusChanged(
bool);
408 void activeFocusChanged(
bool);
409 Q_REVISION(6, 7)
void focusPolicyChanged(Qt::FocusPolicy);
410 Q_REVISION(2, 1)
void activeFocusOnTabChanged(
bool);
411 void parentChanged(QQuickItem *);
412 void transformOriginChanged(TransformOrigin);
413 void smoothChanged(
bool);
414 void antialiasingChanged(
bool);
415 void clipChanged(
bool);
416 Q_REVISION(2, 1)
void windowChanged(QQuickWindow* window);
418 void childrenChanged();
419 void opacityChanged();
420 void enabledChanged();
421 void visibleChanged();
422 void visibleChildrenChanged();
423 void rotationChanged();
429 void heightChanged();
431 void implicitWidthChanged();
432 void implicitHeightChanged();
433 Q_REVISION(2, 11)
void containmentMaskChanged();
435 Q_REVISION(6, 0)
void paletteChanged();
436 Q_REVISION(6, 0)
void paletteCreated();
438 Q_REVISION(6, 12)
void mutabilityGroupChanged();
441 bool event(QEvent *) override;
443 bool isComponentComplete()
const;
444 virtual void itemChange(ItemChange,
const ItemChangeData &);
445 virtual void geometryChange(
const QRectF &newGeometry,
const QRectF &oldGeometry);
448 void updateInputMethod(Qt::InputMethodQueries queries = Qt::ImQueryInput);
451 bool widthValid()
const;
452 bool heightValid()
const;
453 void setImplicitSize(qreal, qreal);
455 void classBegin() override;
456 void componentComplete() override;
458 virtual void keyPressEvent(QKeyEvent *event);
459 virtual void keyReleaseEvent(QKeyEvent *event);
461 virtual void inputMethodEvent(QInputMethodEvent *);
463 virtual void focusInEvent(QFocusEvent *);
464 virtual void focusOutEvent(QFocusEvent *);
465 virtual void mousePressEvent(QMouseEvent *event);
466 virtual void mouseMoveEvent(QMouseEvent *event);
467 virtual void mouseReleaseEvent(QMouseEvent *event);
468 virtual void mouseDoubleClickEvent(QMouseEvent *event);
469 virtual void mouseUngrabEvent();
470 virtual void touchUngrabEvent();
471#if QT_CONFIG(wheelevent)
472 virtual void wheelEvent(QWheelEvent *event);
474 virtual void touchEvent(QTouchEvent *event);
475 virtual void hoverEnterEvent(QHoverEvent *event);
476 virtual void hoverMoveEvent(QHoverEvent *event);
477 virtual void hoverLeaveEvent(QHoverEvent *event);
478#if QT_CONFIG(quick_draganddrop)
479 virtual void dragEnterEvent(QDragEnterEvent *);
480 virtual void dragMoveEvent(QDragMoveEvent *);
481 virtual void dragLeaveEvent(QDragLeaveEvent *);
482 virtual void dropEvent(QDropEvent *);
484 virtual bool childMouseEventFilter(QQuickItem *, QEvent *);
485#if QT_VERSION >= QT_VERSION_CHECK(7
, 0
, 0
)
486 virtual bool contextMenuEvent(QContextMenuEvent *event);
489 virtual QSGNode *updatePaintNode(QSGNode *, UpdatePaintNodeData *);
490 virtual void releaseResources();
491 virtual void updatePolish();
493 QQuickItem(QQuickItemPrivate &dd, QQuickItem *parent =
nullptr);
496 Q_PRIVATE_SLOT(d_func(),
void _q_resourceObjectDeleted(QObject *))
497 Q_PRIVATE_SLOT(d_func(), quint64 _q_createJSWrapper(QQmlV4ExecutionEnginePtr))
499 friend class QQuickWindowPrivate;
500 friend class QQuickDeliveryAgentPrivate;
501 friend class QSGRenderer;
502 friend class QAccessibleQuickItem;
503 friend class QQuickAccessibleAttached;
504 friend class QQuickAnchorChanges;
505#ifndef QT_NO_DEBUG_STREAM
506 friend Q_QUICK_EXPORT QDebug operator<<(QDebug debug, QQuickItem *item);
509 Q_DISABLE_COPY(QQuickItem)
510 Q_DECLARE_PRIVATE(QQuickItem)