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)
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)
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 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)
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 REVISION(6, 7))
107 Q_PROPERTY(qreal rotation READ rotation WRITE setRotation NOTIFY rotationChanged)
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)
116 Q_PROPERTY(qreal implicitHeight READ implicitHeight WRITE setImplicitHeight NOTIFY implicitHeightChanged)
117 Q_PROPERTY(QObject *containmentMask READ containmentMask WRITE setContainmentMask NOTIFY containmentMaskChanged REVISION(2, 11))
119#if QT_CONFIG(quick_shadereffect)
120 Q_PRIVATE_PROPERTY(QQuickItem::d_func(), QQuickItemLayer *layer READ layer DESIGNABLE
false CONSTANT FINAL)
123 Q_CLASSINFO(
"DefaultProperty",
"data")
124 Q_CLASSINFO(
"ParentProperty",
"parent")
125 Q_CLASSINFO(
"qt_QmlJSWrapperFactoryMethod",
"_q_createJSWrapper(QQmlV4ExecutionEnginePtr)")
126 QML_NAMED_ELEMENT(Item)
127 QML_ADDED_IN_VERSION(2, 0)
131 ItemClipsChildrenToShape = 0x01,
133 ItemAcceptsInputMethod = 0x02,
135 ItemIsFocusScope = 0x04,
136 ItemHasContents = 0x08,
137 ItemAcceptsDrops = 0x10,
138 ItemIsViewport = 0x20,
139 ItemObservesViewport = 0x40,
142 Q_DECLARE_FLAGS(Flags, Flag)
146 ItemChildAddedChange,
147 ItemChildRemovedChange,
149 ItemVisibleHasChanged,
150 ItemParentHasChanged,
151 ItemOpacityHasChanged,
152 ItemActiveFocusHasChanged,
153 ItemRotationHasChanged,
154 ItemAntialiasingHasChanged,
155 ItemDevicePixelRatioHasChanged,
156 ItemEnabledHasChanged,
158 ItemTransformHasChanged,
162 union ItemChangeData {
163 ItemChangeData(QQuickItem *v) : item(v) {}
164 ItemChangeData(QQuickWindow *v) : window(v) {}
165 ItemChangeData(qreal v) : realValue(v) {}
166 ItemChangeData(
bool v) : boolValue(v) {}
169 QQuickWindow *window;
174 enum TransformOrigin {
175 TopLeft, Top, TopRight,
177 BottomLeft, Bottom, BottomRight
179 Q_ENUM(TransformOrigin)
181 explicit QQuickItem(QQuickItem *parent =
nullptr);
182 ~QQuickItem() override;
184 QQuickWindow *window()
const;
185 QQuickItem *parentItem()
const;
186 void setParentItem(QQuickItem *parent);
187 void stackBefore(
const QQuickItem *);
188 void stackAfter(
const QQuickItem *);
190 QRectF childrenRect();
191 QList<QQuickItem *> childItems()
const;
196 QString state()
const;
197 void setState(
const QString &);
199 qreal baselineOffset()
const;
200 void setBaselineOffset(qreal);
202 QQmlListProperty<QQuickTransform> transform();
206 QPointF position()
const;
209 void setPosition(
const QPointF &);
210 QBindable<qreal> bindableX();
211 QBindable<qreal> bindableY();
214 void setWidth(qreal);
216 void setImplicitWidth(qreal);
217 qreal implicitWidth()
const;
218 QBindable<qreal> bindableWidth();
220 qreal height()
const;
221 void setHeight(qreal);
223 void setImplicitHeight(qreal);
224 qreal implicitHeight()
const;
225 QBindable<qreal> bindableHeight();
228 void setSize(
const QSizeF &size);
230 TransformOrigin transformOrigin()
const;
231 void setTransformOrigin(TransformOrigin);
232 QPointF transformOriginPoint()
const;
233 void setTransformOriginPoint(
const QPointF &);
238 qreal rotation()
const;
239 void setRotation(qreal);
241 void setScale(qreal);
243 qreal opacity()
const;
244 void setOpacity(qreal);
246 bool isVisible()
const;
247 void setVisible(
bool);
249 bool isEnabled()
const;
250 void setEnabled(
bool);
253 void setSmooth(
bool);
255 bool activeFocusOnTab()
const;
256 void setActiveFocusOnTab(
bool);
258 bool antialiasing()
const;
259 void setAntialiasing(
bool);
260 void resetAntialiasing();
263 void setFlag(Flag flag,
bool enabled =
true);
264 void setFlags(Flags flags);
266 virtual QRectF boundingRect()
const;
267 virtual QRectF clipRect()
const;
268 QQuickItem *viewportItem()
const;
270 bool hasActiveFocus()
const;
271 bool hasFocus()
const;
273 void setFocus(
bool focus, Qt::FocusReason reason);
274 bool isFocusScope()
const;
275 QQuickItem *scopedFocusItem()
const;
277 Qt::FocusPolicy focusPolicy()
const;
278 void setFocusPolicy(Qt::FocusPolicy policy);
280 bool isAncestorOf(
const QQuickItem *child)
const;
282 Qt::MouseButtons acceptedMouseButtons()
const;
283 void setAcceptedMouseButtons(Qt::MouseButtons buttons);
284 bool acceptHoverEvents()
const;
285 void setAcceptHoverEvents(
bool enabled);
286 bool acceptTouchEvents()
const;
287 void setAcceptTouchEvents(
bool accept);
290 QCursor cursor()
const;
291 void setCursor(
const QCursor &cursor);
295 bool isUnderMouse()
const;
298 bool keepMouseGrab()
const;
299 void setKeepMouseGrab(
bool);
300 bool filtersChildMouseEvents()
const;
301 void setFiltersChildMouseEvents(
bool filter);
303 void grabTouchPoints(
const QList<
int> &ids);
304 void ungrabTouchPoints();
305 bool keepTouchGrab()
const;
306 void setKeepTouchGrab(
bool);
309 Q_REVISION(2, 4) Q_INVOKABLE
bool grabToImage(
const QJSValue &callback,
const QSize &targetSize = QSize());
310 QSharedPointer<QQuickItemGrabResult> grabToImage(
const QSize &targetSize = QSize());
312 Q_INVOKABLE
virtual bool contains(
const QPointF &point)
const;
313 QObject *containmentMask()
const;
314 void setContainmentMask(QObject *mask);
316 QTransform itemTransform(QQuickItem *,
bool *)
const;
317 QPointF mapToScene(
const QPointF &point)
const;
318 QRectF mapRectToItem(
const QQuickItem *item,
const QRectF &rect)
const;
319 QRectF mapRectToScene(
const QRectF &rect)
const;
320 QPointF mapFromScene(
const QPointF &point)
const;
321 QRectF mapRectFromItem(
const QQuickItem *item,
const QRectF &rect)
const;
322 QRectF mapRectFromScene(
const QRectF &rect)
const;
326#if QT_DEPRECATED_SINCE(6
, 5
)
327 QT_DEPRECATED_VERSION_X_6_5(
"Use typed overload or mapRectFromItem")
328 void mapFromItem(QQmlV4FunctionPtr)
const;
330 Q_INVOKABLE QPointF mapFromItem(
const QQuickItem *item,
const QPointF &point)
const;
332 Q_INVOKABLE QPointF mapFromItem(
const QQuickItem *item, qreal x, qreal y);
333 Q_INVOKABLE QRectF mapFromItem(
const QQuickItem *item,
const QRectF &rect)
const;
334 Q_INVOKABLE QRectF mapFromItem(
const QQuickItem *item, qreal x, qreal y, qreal width, qreal height)
const;
336#if QT_DEPRECATED_SINCE(6
, 5
)
337 QT_DEPRECATED_VERSION_X_6_5(
"Use typed overload or mapRectToItem")
338 void mapToItem(QQmlV4FunctionPtr)
const;
340 Q_INVOKABLE QPointF mapToItem(
const QQuickItem *item,
const QPointF &point)
const;
342 Q_INVOKABLE QPointF mapToItem(
const QQuickItem *item, qreal x, qreal y);
343 Q_INVOKABLE QRectF mapToItem(
const QQuickItem *item,
const QRectF &rect)
const;
344 Q_INVOKABLE QRectF mapToItem(
const QQuickItem *item, qreal x, qreal y, qreal width, qreal height)
const;
346#if QT_DEPRECATED_SINCE(6
, 5
)
347 QT_DEPRECATED_VERSION_X_6_5(
"Use the typed overload")
348 Q_REVISION(2, 7)
void mapFromGlobal(QQmlV4FunctionPtr)
const;
350 Q_REVISION(2, 7) Q_INVOKABLE QPointF mapFromGlobal(qreal x, qreal y)
const;
352 Q_REVISION(2, 7) Q_INVOKABLE QPointF mapFromGlobal(
const QPointF &point)
const;
354#if QT_DEPRECATED_SINCE(6
, 5
)
355 QT_DEPRECATED_VERSION_X_6_5(
"Use the typed overload")
356 Q_REVISION(2, 7)
void mapToGlobal(QQmlV4FunctionPtr)
const;
358 Q_REVISION(2, 7) Q_INVOKABLE QPointF mapToGlobal(qreal x, qreal y)
const;
360 Q_REVISION(2, 7) Q_INVOKABLE QPointF mapToGlobal(
const QPointF &point)
const;
362 Q_INVOKABLE
void forceActiveFocus();
363 Q_INVOKABLE
void forceActiveFocus(Qt::FocusReason reason);
364 Q_REVISION(2, 1) Q_INVOKABLE QQuickItem *nextItemInFocusChain(
bool forward =
true);
365 Q_INVOKABLE QQuickItem *childAt(qreal x, qreal y)
const;
366 Q_REVISION(6, 3) Q_INVOKABLE
void ensurePolished();
368 Q_REVISION(6, 3) Q_INVOKABLE
void dumpItemTree()
const;
371 virtual QVariant inputMethodQuery(Qt::InputMethodQuery query)
const;
374 struct UpdatePaintNodeData {
375 QSGTransformNode *transformNode;
377 friend class QQuickWindowPrivate;
378 UpdatePaintNodeData();
381 virtual bool isTextureProvider()
const;
382 virtual QSGTextureProvider *textureProvider()
const;
388 void childrenRectChanged(
const QRectF &);
389 void baselineOffsetChanged(qreal);
390 void stateChanged(
const QString &);
391 void focusChanged(
bool);
392 void activeFocusChanged(
bool);
393 Q_REVISION(6, 7)
void focusPolicyChanged(Qt::FocusPolicy);
394 Q_REVISION(2, 1)
void activeFocusOnTabChanged(
bool);
395 void parentChanged(QQuickItem *);
396 void transformOriginChanged(TransformOrigin);
397 void smoothChanged(
bool);
398 void antialiasingChanged(
bool);
399 void clipChanged(
bool);
400 Q_REVISION(2, 1)
void windowChanged(QQuickWindow* window);
402 void childrenChanged();
403 void opacityChanged();
404 void enabledChanged();
405 void visibleChanged();
406 void visibleChildrenChanged();
407 void rotationChanged();
413 void heightChanged();
415 void implicitWidthChanged();
416 void implicitHeightChanged();
417 Q_REVISION(2, 11)
void containmentMaskChanged();
419 Q_REVISION(6, 0)
void paletteChanged();
420 Q_REVISION(6, 0)
void paletteCreated();
423 bool event(QEvent *) override;
425 bool isComponentComplete()
const;
426 virtual void itemChange(ItemChange,
const ItemChangeData &);
427 virtual void geometryChange(
const QRectF &newGeometry,
const QRectF &oldGeometry);
430 void updateInputMethod(Qt::InputMethodQueries queries = Qt::ImQueryInput);
433 bool widthValid()
const;
434 bool heightValid()
const;
435 void setImplicitSize(qreal, qreal);
437 void classBegin() override;
438 void componentComplete() override;
440 virtual void keyPressEvent(QKeyEvent *event);
441 virtual void keyReleaseEvent(QKeyEvent *event);
443 virtual void inputMethodEvent(QInputMethodEvent *);
445 virtual void focusInEvent(QFocusEvent *);
446 virtual void focusOutEvent(QFocusEvent *);
447 virtual void mousePressEvent(QMouseEvent *event);
448 virtual void mouseMoveEvent(QMouseEvent *event);
449 virtual void mouseReleaseEvent(QMouseEvent *event);
450 virtual void mouseDoubleClickEvent(QMouseEvent *event);
451 virtual void mouseUngrabEvent();
452 virtual void touchUngrabEvent();
453#if QT_CONFIG(wheelevent)
454 virtual void wheelEvent(QWheelEvent *event);
456 virtual void touchEvent(QTouchEvent *event);
457 virtual void hoverEnterEvent(QHoverEvent *event);
458 virtual void hoverMoveEvent(QHoverEvent *event);
459 virtual void hoverLeaveEvent(QHoverEvent *event);
460#if QT_CONFIG(quick_draganddrop)
461 virtual void dragEnterEvent(QDragEnterEvent *);
462 virtual void dragMoveEvent(QDragMoveEvent *);
463 virtual void dragLeaveEvent(QDragLeaveEvent *);
464 virtual void dropEvent(QDropEvent *);
466 virtual bool childMouseEventFilter(QQuickItem *, QEvent *);
467#if QT_VERSION >= QT_VERSION_CHECK(7
, 0
, 0
)
468 virtual bool contextMenuEvent(QContextMenuEvent *event);
471 virtual QSGNode *updatePaintNode(QSGNode *, UpdatePaintNodeData *);
472 virtual void releaseResources();
473 virtual void updatePolish();
475 QQuickItem(QQuickItemPrivate &dd, QQuickItem *parent =
nullptr);
478 Q_PRIVATE_SLOT(d_func(),
void _q_resourceObjectDeleted(QObject *))
479 Q_PRIVATE_SLOT(d_func(), quint64 _q_createJSWrapper(QQmlV4ExecutionEnginePtr))
481 friend class QQuickWindowPrivate;
482 friend class QQuickDeliveryAgentPrivate;
483 friend class QSGRenderer;
484 friend class QAccessibleQuickItem;
485 friend class QQuickAccessibleAttached;
486 friend class QQuickAnchorChanges;
487#ifndef QT_NO_DEBUG_STREAM
488 friend Q_QUICK_EXPORT QDebug operator<<(QDebug debug, QQuickItem *item);
491 Q_DISABLE_COPY(QQuickItem)
492 Q_DECLARE_PRIVATE(QQuickItem)