Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qquickitem.h
Go to the documentation of this file.
1// Copyright (C) 2020 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3// Qt-Security score:significant reason:default
4
5#ifndef QQUICKITEM_H
6#define QQUICKITEM_H
7
8#include <QtQuick/qtquickglobal.h>
9#include <QtQml/qqml.h>
10#include <QtQml/qqmlcomponent.h>
11
12#include <QtCore/QObject>
13#include <QtCore/QList>
14#include <QtCore/qproperty.h>
15#include <QtGui/qevent.h>
16#include <QtGui/qfont.h>
17#include <QtGui/qaccessible.h>
18
19QT_BEGIN_NAMESPACE
20
21class QQuickItem;
23class Q_QUICK_EXPORT QQuickTransform : public QObject
24{
25 Q_OBJECT
26 QML_ANONYMOUS
27 QML_ADDED_IN_VERSION(2, 0)
28public:
29 explicit QQuickTransform(QObject *parent = nullptr);
30 ~QQuickTransform() override;
31
32 void appendToItem(QQuickItem *);
33 void prependToItem(QQuickItem *);
34
35 virtual void applyTo(QMatrix4x4 *matrix) const = 0;
36
37protected Q_SLOTS:
38 void update();
39
40protected:
41 QQuickTransform(QQuickTransformPrivate &dd, QObject *parent);
42
43private:
44 Q_DECLARE_PRIVATE(QQuickTransform)
45};
46
47class QCursor;
48class QQuickItemLayer;
49class QQuickState;
50class QQuickAnchorLine;
51class QQuickTransition;
52class QQuickKeyEvent;
53class QQuickAnchors;
54class QQuickItemPrivate;
55class QQuickWindow;
56class QTouchEvent;
57class QSGNode;
58class QSGTransformNode;
59class QSGTextureProvider;
60class QQuickItemGrabResult;
61class QQuickPalette;
62
63class Q_QUICK_EXPORT QQuickItem : public QObject, public QQmlParserStatus
64{
65 Q_OBJECT
66 Q_INTERFACES(QQmlParserStatus)
67
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)
72
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)
78
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)
84
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)
98
99 Q_PROPERTY(bool clip READ clip WRITE setClip NOTIFY clipChanged)
100
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))
104
105 Q_PROPERTY(Qt::FocusPolicy focusPolicy READ focusPolicy WRITE setFocusPolicy NOTIFY focusPolicyChanged VIRTUAL REVISION(6, 7))
106
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) // deprecated - see QTBUG-26423
111 Q_PROPERTY(QQmlListProperty<QQuickTransform> transform READ transform DESIGNABLE false FINAL)
112
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))
118
119 // Value clamped to 4 bit range (see MutabilityGroup enum)
120 Q_PROPERTY(int mutabilityGroup READ mutabilityGroup WRITE setMutabilityGroup NOTIFY mutabilityGroupChanged REVISION(6, 12))
121
122#if QT_CONFIG(quick_shadereffect)
123 Q_PRIVATE_PROPERTY(QQuickItem::d_func(), QQuickItemLayer *layer READ layer DESIGNABLE false CONSTANT FINAL)
124#endif
125
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)
131
132public:
133 enum Flag {
134 ItemClipsChildrenToShape = 0x01,
135#if QT_CONFIG(im)
136 ItemAcceptsInputMethod = 0x02,
137#endif
138 ItemIsFocusScope = 0x04,
139 ItemHasContents = 0x08,
140 ItemAcceptsDrops = 0x10,
141 ItemIsViewport = 0x20,
142 ItemObservesViewport = 0x40,
143 // Remember to increment the size of QQuickItemPrivate::flags
144 };
145 Q_DECLARE_FLAGS(Flags, Flag)
146 Q_FLAG(Flags)
147
148 enum ItemChange {
149 ItemChildAddedChange, // value.item
150 ItemChildRemovedChange, // value.item
151 ItemSceneChange, // value.window
152 ItemVisibleHasChanged, // value.boolValue
153 ItemParentHasChanged, // value.item
154 ItemOpacityHasChanged, // value.realValue
155 ItemActiveFocusHasChanged, // value.boolValue
156 ItemRotationHasChanged, // value.realValue
157 ItemAntialiasingHasChanged, // value.boolValue
158 ItemDevicePixelRatioHasChanged, // value.realValue
159 ItemEnabledHasChanged, // value.boolValue
160 ItemScaleHasChanged, // value.realValue
161 ItemTransformHasChanged, // value.item
162 };
163 Q_ENUM(ItemChange)
164
165 enum MutabilityGroup : int {
166 AutoMutabilityGroup = 0x0,
167 StaticMutabilityGroup = 0x1,
168 ModerateMutabilityGroup = 0x8,
169 DynamicMutabilityGroup = 0xf,
170 // Maximum 4 bits
171 };
172 Q_ENUM(MutabilityGroup)
173
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) {}
179
180 QQuickItem *item;
181 QQuickWindow *window;
182 qreal realValue;
183 bool boolValue;
184 };
185
186 enum TransformOrigin {
187 TopLeft, Top, TopRight,
188 Left, Center, Right,
189 BottomLeft, Bottom, BottomRight
190 };
191 Q_ENUM(TransformOrigin)
192
193 explicit QQuickItem(QQuickItem *parent = nullptr);
194 ~QQuickItem() override;
195
196 QQuickWindow *window() const;
197 QQuickItem *parentItem() const;
198 void setParentItem(QQuickItem *parent);
199 void stackBefore(const QQuickItem *);
200 void stackAfter(const QQuickItem *);
201
202 QRectF childrenRect();
203 QList<QQuickItem *> childItems() const;
204
205 bool clip() const;
206 void setClip(bool);
207
208 QString state() const;
209 void setState(const QString &);
210
211 qreal baselineOffset() const;
212 void setBaselineOffset(qreal);
213
214 QQmlListProperty<QQuickTransform> transform();
215
216 qreal x() const;
217 qreal y() const;
218 QPointF position() const;
219 void setX(qreal);
220 void setY(qreal);
221 void setPosition(const QPointF &);
222 QBindable<qreal> bindableX();
223 QBindable<qreal> bindableY();
224
225 qreal width() const;
226 void setWidth(qreal);
227 void resetWidth();
228 void setImplicitWidth(qreal);
229 qreal implicitWidth() const;
230 QBindable<qreal> bindableWidth();
231
232 qreal height() const;
233 void setHeight(qreal);
234 void resetHeight();
235 void setImplicitHeight(qreal);
236 qreal implicitHeight() const;
237 QBindable<qreal> bindableHeight();
238
239 QSizeF size() const;
240 void setSize(const QSizeF &size);
241
242 TransformOrigin transformOrigin() const;
243 void setTransformOrigin(TransformOrigin);
244 QPointF transformOriginPoint() const;
245 void setTransformOriginPoint(const QPointF &);
246
247 qreal z() const;
248 void setZ(qreal);
249
250 qreal rotation() const;
251 void setRotation(qreal);
252 qreal scale() const;
253 void setScale(qreal);
254
255 qreal opacity() const;
256 void setOpacity(qreal);
257
258 bool isVisible() const;
259 void setVisible(bool);
260
261 bool isEnabled() const;
262 void setEnabled(bool);
263
264 bool smooth() const;
265 void setSmooth(bool);
266
267 bool activeFocusOnTab() const;
268 void setActiveFocusOnTab(bool);
269
270 bool antialiasing() const;
271 void setAntialiasing(bool);
272 void resetAntialiasing();
273
274 Flags flags() const;
275 void setFlag(Flag flag, bool enabled = true);
276 void setFlags(Flags flags);
277
278 virtual QRectF boundingRect() const;
279 virtual QRectF clipRect() const;
280 QQuickItem *viewportItem() const;
281
282 bool hasActiveFocus() const;
283 bool hasFocus() const;
284 void setFocus(bool);
285 void setFocus(bool focus, Qt::FocusReason reason);
286 bool isFocusScope() const;
287 QQuickItem *scopedFocusItem() const;
288
289 Qt::FocusPolicy focusPolicy() const;
290 void setFocusPolicy(Qt::FocusPolicy policy);
291
292 bool isAncestorOf(const QQuickItem *child) const;
293
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);
300
301#if QT_CONFIG(cursor)
302 QCursor cursor() const;
303 void setCursor(const QCursor &cursor);
304 void unsetCursor();
305#endif
306
307 bool isUnderMouse() const;
308 void grabMouse();
309 void ungrabMouse();
310 bool keepMouseGrab() const;
311 void setKeepMouseGrab(bool);
312 bool filtersChildMouseEvents() const;
313 void setFiltersChildMouseEvents(bool filter);
314
315 void grabTouchPoints(const QList<int> &ids);
316 void ungrabTouchPoints();
317 bool keepTouchGrab() const;
318 void setKeepTouchGrab(bool);
319
320 // implemented in qquickitemgrabresult.cpp
321 Q_REVISION(2, 4) Q_INVOKABLE bool grabToImage(const QJSValue &callback, const QSize &targetSize = QSize());
322 QSharedPointer<QQuickItemGrabResult> grabToImage(const QSize &targetSize = QSize());
323
324 Q_INVOKABLE virtual bool contains(const QPointF &point) const;
325 QObject *containmentMask() const;
326 void setContainmentMask(QObject *mask);
327
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;
335
336 void polish();
337
338#if QT_DEPRECATED_SINCE(6, 5)
339 QT_DEPRECATED_VERSION_X_6_5("Use typed overload or mapRectFromItem")
340 void mapFromItem(QQmlV4FunctionPtr) const;
341#endif
342 Q_INVOKABLE QPointF mapFromItem(const QQuickItem *item, const QPointF &point) const;
343 // overloads mainly exist for QML
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;
347
348#if QT_DEPRECATED_SINCE(6, 5)
349 QT_DEPRECATED_VERSION_X_6_5("Use typed overload or mapRectToItem")
350 void mapToItem(QQmlV4FunctionPtr) const;
351#endif
352 Q_INVOKABLE QPointF mapToItem(const QQuickItem *item, const QPointF &point) const;
353 // overloads mainly exist for QML
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;
357
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;
361#endif
362 Q_REVISION(2, 7) Q_INVOKABLE QPointF mapFromGlobal(qreal x, qreal y) const;
363 // overload mainly exists for QML
364 Q_REVISION(2, 7) Q_INVOKABLE QPointF mapFromGlobal(const QPointF &point) const;
365
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;
369#endif
370 Q_REVISION(2, 7) Q_INVOKABLE QPointF mapToGlobal(qreal x, qreal y) const;
371 // overload only exist for QML
372 Q_REVISION(2, 7) Q_INVOKABLE QPointF mapToGlobal(const QPointF &point) const;
373
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();
379
380 Q_REVISION(6, 3) Q_INVOKABLE void dumpItemTree() const;
381
382#if QT_CONFIG(im)
383 virtual QVariant inputMethodQuery(Qt::InputMethodQuery query) const;
384#endif
385
386 struct UpdatePaintNodeData {
387 QSGTransformNode *transformNode;
388 private:
389 friend class QQuickWindowPrivate;
390 UpdatePaintNodeData();
391 };
392
393 virtual bool isTextureProvider() const;
394 virtual QSGTextureProvider *textureProvider() const;
395
396 // Value clamped to 4 bit range (see MutabilityGroup enum)
397 void setMutabilityGroup(int mutabilityGroup);
398 int mutabilityGroup() const;
399
400public Q_SLOTS:
401 void update();
402
403Q_SIGNALS:
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);
417
418 void childrenChanged();
419 void opacityChanged();
420 void enabledChanged();
421 void visibleChanged();
422 void visibleChildrenChanged();
423 void rotationChanged();
424 void scaleChanged();
425
426 void xChanged();
427 void yChanged();
428 void widthChanged();
429 void heightChanged();
430 void zChanged();
431 void implicitWidthChanged();
432 void implicitHeightChanged();
433 Q_REVISION(2, 11) void containmentMaskChanged();
434
435 Q_REVISION(6, 0) void paletteChanged();
436 Q_REVISION(6, 0) void paletteCreated();
437
438 Q_REVISION(6, 12) void mutabilityGroupChanged();
439
440protected:
441 bool event(QEvent *) override;
442
443 bool isComponentComplete() const;
444 virtual void itemChange(ItemChange, const ItemChangeData &);
445 virtual void geometryChange(const QRectF &newGeometry, const QRectF &oldGeometry);
446
447#if QT_CONFIG(im)
448 void updateInputMethod(Qt::InputMethodQueries queries = Qt::ImQueryInput);
449#endif
450
451 bool widthValid() const; // ### better name?
452 bool heightValid() const; // ### better name?
453 void setImplicitSize(qreal, qreal);
454
455 void classBegin() override;
456 void componentComplete() override;
457
458 virtual void keyPressEvent(QKeyEvent *event);
459 virtual void keyReleaseEvent(QKeyEvent *event);
460#if QT_CONFIG(im)
461 virtual void inputMethodEvent(QInputMethodEvent *);
462#endif
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(); // XXX todo - params?
470 virtual void touchUngrabEvent();
471#if QT_CONFIG(wheelevent)
472 virtual void wheelEvent(QWheelEvent *event);
473#endif
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 *);
483#endif
484 virtual bool childMouseEventFilter(QQuickItem *, QEvent *);
485#if QT_VERSION >= QT_VERSION_CHECK(7, 0, 0)
486 virtual bool contextMenuEvent(QContextMenuEvent *event);
487#endif
488
489 virtual QSGNode *updatePaintNode(QSGNode *, UpdatePaintNodeData *);
490 virtual void releaseResources();
491 virtual void updatePolish();
492
493 QQuickItem(QQuickItemPrivate &dd, QQuickItem *parent = nullptr);
494
495private:
496 Q_PRIVATE_SLOT(d_func(), void _q_resourceObjectDeleted(QObject *))
497 Q_PRIVATE_SLOT(d_func(), quint64 _q_createJSWrapper(QQmlV4ExecutionEnginePtr))
498
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);
507#endif
508
509 Q_DISABLE_COPY(QQuickItem)
510 Q_DECLARE_PRIVATE(QQuickItem)
511};
512
513Q_DECLARE_OPERATORS_FOR_FLAGS(QQuickItem::Flags)
514
515#ifndef Q_QDOC
516template <> inline QQuickItem *qobject_cast<QQuickItem *>(QObject *o)
517{
518 if (!o || !o->isQuickItemType())
519 return nullptr;
520 return static_cast<QQuickItem *>(o);
521}
522template <> inline const QQuickItem *qobject_cast<const QQuickItem *>(const QObject *o)
523{
524 if (!o || !o->isQuickItemType())
525 return nullptr;
526 return static_cast<const QQuickItem *>(o);
527}
528#endif // !Q_QDOC
529
530#ifndef QT_NO_DEBUG_STREAM
531QDebug Q_QUICK_EXPORT operator<<(QDebug debug,
532#if QT_VERSION >= QT_VERSION_CHECK(7, 0, 0)
533 const
534#endif
535 QQuickItem *item);
536#endif // QT_NO_DEBUG_STREAM
537
538QT_END_NAMESPACE
539
540#endif // QQUICKITEM_H
bool contains(const QPointF &point) const override
QQuickFlickableContentItem(QQuickItem *parent=nullptr)
bool startTransition(QQuickFlickablePrivate::AxisData *data, qreal toPos)
QQuickFlickableReboundTransition(QQuickFlickable *f, const QString &name)
The QQuickItem class provides the most basic of all visual items in \l {Qt Quick}.
Definition qquickitem.h:64
Combined button and popup list for selecting options.
QT_BEGIN_NAMESPACE Q_STATIC_LOGGING_CATEGORY(lcSynthesizedIterableAccess, "qt.iterable.synthesized", QtWarningMsg)
static bool fuzzyLessThanOrEqualTo(qreal a, qreal b)
static qreal EaseOvershoot(qreal t)
#define QML_FLICK_SAMPLEBUFFER
#define QML_FLICK_OVERSHOOT
#define QML_FLICK_MULTIFLICK_MAXBOOST
#define QML_FLICK_MULTIFLICK_THRESHOLD
#define QML_FLICK_OVERSHOOTFRICTION
#define QML_FLICK_DISCARDSAMPLES
#define QML_FLICK_MULTIFLICK_RATIO
QDebug Q_QUICK_EXPORT operator<<(QDebug debug, const QQuickWindow *item)