Auf dieser Seite

QQuickItem Class

Die Klasse „QQuickItem“ stellt das grundlegendste aller visuellen Elemente in Qt Quick. Mehr...

Kopfzeile: #include <QQuickItem>
CMake: find_package(Qt6 REQUIRED COMPONENTS Quick)
target_link_libraries(mytarget PRIVATE Qt6::Quick)
qmake: QT += quick
In QML: Item
Erbt von:QObject und QQmlParserStatus
Vererbt an:

QQuickFramebufferObject, „ QQuickPaintedItem “ sowie QQuickRhiItem

Öffentliche Typen

union ItemChangeData
enum Flag { ItemClipsChildrenToShape, ItemAcceptsInputMethod, ItemIsFocusScope, ItemHasContents, ItemAcceptsDrops, …, ItemObservesViewport }
flags Flags
enum ItemChange { ItemChildAddedChange, ItemChildRemovedChange, ItemSceneChange, ItemVisibleHasChanged, ItemParentHasChanged, …, ItemTransformHasChanged }
(since 6.12) enum MutabilityGroup { AutoMutabilityGroup, StaticMutabilityGroup, ModerateMutabilityGroup, DynamicMutabilityGroup }
enum TransformOrigin { TopLeft, Top, TopRight, Left, Center, …, BottomRight }

Eigenschaften

Öffentliche Funktionen

QQuickItem(QQuickItem *parent = nullptr)
virtual ~QQuickItem() override
bool acceptHoverEvents() const
bool acceptTouchEvents() const
Qt::MouseButtons acceptedMouseButtons() const
bool activeFocusOnTab() const
bool antialiasing() const
qreal baselineOffset() const
QBindable<qreal> bindableHeight()
QBindable<qreal> bindableWidth()
QBindable<qreal> bindableX()
QBindable<qreal> bindableY()
virtual QRectF boundingRect() const
QQuickItem *childAt(qreal x, qreal y) const
QList<QQuickItem *> childItems() const
QRectF childrenRect()
bool clip() const
virtual QRectF clipRect() const
QObject *containmentMask() const
virtual bool contains(const QPointF &point) const
QCursor cursor() const
(since 6.3) void dumpItemTree() const
(since 6.3) void ensurePolished()
bool filtersChildMouseEvents() const
QQuickItem::Flags flags() const
Qt::FocusPolicy focusPolicy() const
void forceActiveFocus()
void forceActiveFocus(Qt::FocusReason reason)
QSharedPointer<QQuickItemGrabResult> grabToImage(const QSize &targetSize = QSize())
bool hasActiveFocus() const
bool hasFocus() const
qreal height() const
qreal implicitHeight() const
qreal implicitWidth() const
virtual QVariant inputMethodQuery(Qt::InputMethodQuery query) const
bool isAncestorOf(const QQuickItem *child) const
bool isEnabled() const
bool isFocusScope() const
virtual bool isTextureProvider() const
bool isVisible() const
bool keepMouseGrab() const
bool keepTouchGrab() const
QPointF mapFromGlobal(const QPointF &point) const
QPointF mapFromItem(const QQuickItem *item, const QPointF &point) const
QPointF mapFromScene(const QPointF &point) const
QRectF mapRectFromItem(const QQuickItem *item, const QRectF &rect) const
QRectF mapRectFromScene(const QRectF &rect) const
QRectF mapRectToItem(const QQuickItem *item, const QRectF &rect) const
QRectF mapRectToScene(const QRectF &rect) const
QPointF mapToGlobal(const QPointF &point) const
QPointF mapToItem(const QQuickItem *item, const QPointF &point) const
QPointF mapToScene(const QPointF &point) const
int mutabilityGroup() const
QQuickItem *nextItemInFocusChain(bool forward = true)
qreal opacity() const
QQuickItem *parentItem() const
void polish()
void resetAntialiasing()
void resetHeight()
void resetWidth()
qreal rotation() const
qreal scale() const
QQuickItem *scopedFocusItem() const
void setAcceptHoverEvents(bool enabled)
void setAcceptTouchEvents(bool enabled)
void setAcceptedMouseButtons(Qt::MouseButtons buttons)
void setActiveFocusOnTab(bool)
void setAntialiasing(bool)
void setBaselineOffset(qreal)
void setClip(bool)
void setContainmentMask(QObject *mask)
void setCursor(const QCursor &cursor)
void setEnabled(bool)
void setFiltersChildMouseEvents(bool filter)
void setFlag(QQuickItem::Flag flag, bool enabled = true)
void setFlags(QQuickItem::Flags flags)
void setFocus(bool)
void setFocus(bool focus, Qt::FocusReason reason)
void setFocusPolicy(Qt::FocusPolicy policy)
void setHeight(qreal)
void setImplicitHeight(qreal)
void setImplicitWidth(qreal)
void setKeepMouseGrab(bool keep)
void setKeepTouchGrab(bool keep)
void setMutabilityGroup(int mutabilityGroup)
void setOpacity(qreal)
void setParentItem(QQuickItem *parent)
void setRotation(qreal)
void setScale(qreal)
void setSize(const QSizeF &size)
void setSmooth(bool)
void setState(const QString &)
void setTransformOrigin(QQuickItem::TransformOrigin)
void setVisible(bool)
void setWidth(qreal)
void setX(qreal)
void setY(qreal)
void setZ(qreal)
QSizeF size() const
bool smooth() const
void stackAfter(const QQuickItem *sibling)
void stackBefore(const QQuickItem *sibling)
QString state() const
virtual QSGTextureProvider *textureProvider() const
QQuickItem::TransformOrigin transformOrigin() const
void unsetCursor()
QQuickItem *viewportItem() const
qreal width() const
QQuickWindow *window() const
qreal x() const
qreal y() const
qreal z() const

Öffentliche Slots

void update()

Signale

void containmentMaskChanged()
void windowChanged(QQuickWindow *window)

Geschützte Funktionen

virtual bool childMouseEventFilter(QQuickItem *item, QEvent *event)
virtual void dragEnterEvent(QDragEnterEvent *event)
virtual void dragLeaveEvent(QDragLeaveEvent *event)
virtual void dragMoveEvent(QDragMoveEvent *event)
virtual void dropEvent(QDropEvent *event)
virtual void focusInEvent(QFocusEvent *event)
virtual void focusOutEvent(QFocusEvent *event)
(since 6.0) virtual void geometryChange(const QRectF &newGeometry, const QRectF &oldGeometry)
bool heightValid() const
virtual void hoverEnterEvent(QHoverEvent *event)
virtual void hoverLeaveEvent(QHoverEvent *event)
virtual void hoverMoveEvent(QHoverEvent *event)
virtual void inputMethodEvent(QInputMethodEvent *event)
bool isComponentComplete() const
virtual void itemChange(QQuickItem::ItemChange change, const QQuickItem::ItemChangeData &value)
virtual void keyPressEvent(QKeyEvent *event)
virtual void keyReleaseEvent(QKeyEvent *event)
virtual void mouseDoubleClickEvent(QMouseEvent *event)
virtual void mouseMoveEvent(QMouseEvent *event)
virtual void mousePressEvent(QMouseEvent *event)
virtual void mouseReleaseEvent(QMouseEvent *event)
virtual void mouseUngrabEvent()
virtual void releaseResources()
virtual void touchEvent(QTouchEvent *event)
virtual void touchUngrabEvent()
void updateInputMethod(Qt::InputMethodQueries queries = Qt::ImQueryInput)
virtual QSGNode *updatePaintNode(QSGNode *oldNode, QQuickItem::UpdatePaintNodeData *updatePaintNodeData)
virtual void updatePolish()
virtual void wheelEvent(QWheelEvent *event)
bool widthValid() const

Neu implementierte geschützte Funktionen

virtual void classBegin() override
virtual void componentComplete() override
virtual bool event(QEvent *ev) override

Ausführliche Beschreibung

Alle visuellen Elemente in „ Qt Quick “ erben von QQuickItem. Obwohl eine QQuickItem-Instanz kein visuelles Erscheinungsbild hat, definiert sie alle Attribute, die visuellen Elementen gemeinsam sind, wie beispielsweise x- und y-Position, Breite und Höhe, Verankerung sowie Unterstützung für die Tastenbehandlung.

Sie können eine Unterklasse von QQuickItem erstellen, um ein eigenes, benutzerdefiniertes visuelles Element bereitzustellen, das diese Funktionen erbt.

Benutzerdefinierte Szenengraph-Elemente

Alle visuellen QML-Elemente werden mithilfe des Szenengraphen gerendert, dessen Standardimplementierung ein low-level, leistungsstarker Rendering-Stack ist, der eng mit beschleunigten Grafik-APIs wie OpenGL, Vulkan, Metal oder Direct 3D verknüpft ist. Unterklassen von `QQuickItem` können eigene benutzerdefinierte Inhalte in den Szenengraphen einfügen, indem sie das Flag ` QQuickItem::ItemHasContents ` setzen und die Funktion ` QQuickItem::updatePaintNode()` neu implementieren.

Warnung: Es ist von entscheidender Bedeutung, dass Grafikoperationen und die Interaktion mit dem Szenengraphen ausschließlich im Rendering-Thread erfolgen, vor allem während des Aufrufs von ` updatePaintNode()`. Als Faustregel gilt, innerhalb der Funktion ` QQuickItem::updatePaintNode()` ausschließlich Klassen mit dem Präfix „QSG“ zu verwenden.

Hinweis: Alle Klassen mit dem Präfix „QSG“ sollten ausschließlich auf dem Rendering-Thread des Szenengraphen verwendet werden. Weitere Informationen finden Sie unter „Szenengraph und Rendering “.

Verwaltung von Grafikressourcen

Die bevorzugte Methode zur Bereinigung der im Szenengraphen verwendeten Grafikressourcen besteht darin, sich auf die automatische Bereinigung der Knoten zu verlassen. Ein von QQuickItem::updatePaintNode() zurückgegebenes ` QSGNode ` wird automatisch im richtigen Thread zum richtigen Zeitpunkt gelöscht. Bäume aus „ QSGNode “-Instanzen werden mithilfe von „ QSGNode::OwnedByParent “ verwaltet, das standardmäßig gesetzt ist. Für die meisten benutzerdefinierten Scene-Graph-Elemente ist daher kein zusätzlicher Aufwand erforderlich.

Implementierungen, die Grafikressourcen außerhalb des Knotenbaums speichern – wie beispielsweise ein Element, das ` QQuickItem::textureProvider()` implementiert –, müssen darauf achten, diese korrekt zu bereinigen, je nachdem, wie das Element in QML verwendet wird. Folgende Situationen sind zu berücksichtigen:

  • Der Szenenbaum wird ungültig gemacht; dies kann je nach Plattform und Konfiguration von ` QQuickWindow ` passieren, wenn das Fenster mit ` QQuickWindow::hide()` ausgeblendet oder geschlossen wird. Wenn die Elementklasse einen ` slot ` namens ` invalidateSceneGraph()` implementiert, wird dieser Slot im Rendering-Thread aufgerufen, während der GUI-Thread blockiert ist. Dies entspricht einer Verbindung mit ` QQuickWindow::sceneGraphInvalidated()`. Beim Rendern über OpenGL wird der OpenGL-Kontext des Fensters dieses Elements gebunden, wenn dieser Slot aufgerufen wird. Die einzige Ausnahme besteht darin, dass das native OpenGL außerhalb der Kontrolle von Qt zerstört wurde, beispielsweise durch „ EGL_CONTEXT_LOST “.
  • Das Element wird aus der Szene entfernt; wenn ein Element aus der Szene entfernt wird, beispielsweise weil sein übergeordnetes Element auf ` null ` gesetzt wurde oder es sich um ein Element in einem anderen Fenster handelt, wird ` QQuickItem::releaseResources()` im GUI-Thread aufgerufen. ` QQuickWindow::scheduleRenderJob()` sollte verwendet werden, um die Bereinigung der Rendering-Ressourcen zu planen.
  • Das Element wird gelöscht; wenn der Destruktor eines Elements ausgeführt wird, sollte er alle ihm zugehörigen Grafikressourcen löschen. Wenn keine der beiden oben genannten Bedingungen bereits erfüllt war, ist das Element Teil eines Fensters, und es ist möglich, ` QQuickWindow::scheduleRenderJob()` zu verwenden, um diese Ressourcen bereinigen zu lassen. Wenn eine Implementierung den Aufruf von ` QQuickItem::releaseResources()` ignoriert, hat das Element in vielen Fällen keinen Zugriff mehr auf ` QQuickWindow ` und somit keine Möglichkeit, die Bereinigung zu planen.

Bei der Planung der Bereinigung von Grafikressourcen mit ` QQuickWindow::scheduleRenderJob()` sollte entweder ` QQuickWindow::BeforeSynchronizingStage ` oder ` QQuickWindow::AfterSynchronizingStage` verwendet werden. In der Synchronisationsphase wird der Szenengraph aufgrund von Änderungen am QML-Baum angepasst. Wird die Bereinigung zu einem anderen Zeitpunkt geplant, kann dies dazu führen, dass andere Teile des Szenengraphen auf die neu gelöschten Objekte verweisen, da diese Teile noch nicht aktualisiert wurden.

Hinweis: Von der Verwendung von ` QObject::deleteLater()` zum Bereinigen von Grafikressourcen wird dringend abgeraten, da dadurch der Vorgang ` delete ` zu einem beliebigen Zeitpunkt ausgeführt wird und nicht bekannt ist, ob zum Zeitpunkt der Löschung ein OpenGL-Kontext gebunden ist.

Benutzerdefinierte QPainter-Elemente

QQuickItem stellt eine Unterklasse bereit, QQuickPaintedItem, die es dem Benutzer ermöglicht, Inhalte mit QPainter zu rendern.

Warnung: Bei der Verwendung von ` QQuickPaintedItem ` wird eine indirekte 2D-Oberfläche zum Rendern des Inhalts genutzt, wobei Software-Rasterisierung zum Einsatz kommt; daher erfolgt das Rendern in zwei Schritten. Zunächst wird die Oberfläche gerastert, anschließend wird sie gezeichnet. Die direkte Verwendung der Scene-Graph-API ist stets deutlich schneller.

Verhaltensanimationen

Wenn Ihr Item den Typ „ Behavior “ verwendet, um Animationen für Eigenschaftsänderungen zu definieren, sollten Sie immer entweder ` QObject::setProperty()`, `QQmlProperty()` oder ` QMetaProperty::write()` verwenden, wenn Sie diese Eigenschaften aus C++ heraus ändern müssen. Dadurch wird sichergestellt, dass die QML-Engine von der Eigenschaftsänderung Kenntnis erhält. Andernfalls kann die Engine die von Ihnen angeforderte Animation nicht ausführen. Beachten Sie, dass diese Funktionen einen leichten Leistungseinbußen mit sich bringen. Weitere Details finden Sie unter Zugriff auf Mitglieder eines QML-Objekttyps aus C++.

Siehe auch „ QQuickWindow “ und „ QQuickPaintedItem “.

Dokumentation zu Mitgliedstypen

enum QQuickItem::Flag
flags QQuickItem::Flags

Dieser Enum-Typ dient zur Angabe verschiedener Eigenschaften von Elementen.

KonstanteWertBeschreibung
QQuickItem::ItemClipsChildrenToShape0x01Gibt an, dass dieses Element seine untergeordneten Elemente visuell beschneiden soll, sodass sie nur innerhalb der Grenzen dieses Elements dargestellt werden.
QQuickItem::ItemAcceptsInputMethod0x02Gibt an, dass das Element Texteingabemethoden unterstützt.
QQuickItem::ItemIsFocusScope0x04Gibt an, dass das Element ein Fokusbereich ist. Weitere Informationen finden Sie unter „Tastaturfokus“ in „ Qt Quick “.
QQuickItem::ItemHasContents0x08Gibt an, dass das Element visuellen Inhalt enthält und vom Szenengraphen gerendert werden soll.
QQuickItem::ItemAcceptsDrops0x10Gibt an, dass das Element Drag-and-Drop-Ereignisse akzeptiert.
QQuickItem::ItemIsViewport0x20Gibt an, dass das Element einen Viewport für seine untergeordneten Elemente definiert.
QQuickItem::ItemObservesViewport0x40Gibt an, dass das Element die Viewport-Grenzen erfahren möchte, wenn bei einem beliebigen übergeordneten Element das Flag „ItemIsViewport“ gesetzt ist.

Der Typ „Flags“ ist eine Typdefinition für „QFlags<Flag>“. Er speichert eine ODER-Kombination von „Flag“-Werten.

Siehe auch „ setFlag()“, „ setFlags()“ und „ flags()“.

enum QQuickItem::ItemChange

Wird in Verbindung mit „ QQuickItem::itemChange “ () verwendet, um das Element über bestimmte Arten von Änderungen zu informieren.

KonstanteWertBeschreibung
QQuickItem::ItemChildAddedChange0Ein untergeordnetes Element wurde hinzugefügt. ` ItemChangeData::item ` enthält das hinzugefügte untergeordnete Element.
QQuickItem::ItemChildRemovedChange1Ein untergeordnetes Element wurde entfernt. ` ItemChangeData::item ` enthält das entfernte untergeordnete Element.
QQuickItem::ItemSceneChange2Das Element wurde zu einer Szene hinzugefügt oder aus einer Szene entfernt. Das „ QQuickWindow “, das die Szene rendert, wird über „ ItemChangeData::window “ angegeben. Der Parameter „window“ ist null, wenn das Element aus einer Szene entfernt wird.
QQuickItem::ItemVisibleHasChanged3Die Sichtbarkeit des Elements hat sich geändert. ` ItemChangeData::boolValue ` enthält die neue Sichtbarkeit.
QQuickItem::ItemParentHasChanged4Das übergeordnete Element des Elements hat sich geändert. „ ItemChangeData::item “ enthält das neue übergeordnete Element.
QQuickItem::ItemOpacityHasChanged5Die Deckkraft des Elements hat sich geändert. ` ItemChangeData::realValue ` enthält die neue Deckkraft.
QQuickItem::ItemActiveFocusHasChanged6Der Fokus des Elements hat sich geändert. „ ItemChangeData::boolValue “ gibt an, ob das Element den Fokus hat oder nicht.
QQuickItem::ItemRotationHasChanged7Die Drehung des Elements hat sich geändert. „ ItemChangeData::realValue “ enthält die neue Drehung.
QQuickItem::ItemDevicePixelRatioHasChanged9Das Gerätepixelverhältnis des Bildschirms, auf dem sich das Element befindet, hat sich geändert. „ItemChangedData::realValue“ enthält das neue Gerätepixelverhältnis.
QQuickItem::ItemAntialiasingHasChanged8Das Antialiasing hat sich geändert. Der aktuelle (boolesche) Wert ist in ` QQuickItem::antialiasing` zu finden.
QQuickItem::ItemEnabledHasChanged10Der Aktivierungsstatus des Elements hat sich geändert. „ ItemChangeData::boolValue “ enthält den neuen Aktivierungsstatus. (seit Qt 5.10)
QQuickItem::ItemScaleHasChanged11Der Skalierungsfaktor des Elements hat sich geändert. „ ItemChangeData::realValue “ enthält den Skalierungsfaktor. (seit Qt 6.9)
QQuickItem::ItemTransformHasChanged12Die Transformation des Elements hat sich geändert. Dies tritt auf, wenn sich die Position, Größe, Drehung, Skalierung, „ transformOrigin “ oder angehängte Transformationen des Elements ändern. „ ItemChangeData::item “ enthält das Element, das die Änderung verursacht hat. (seit Qt 6.9)

[since 6.12] enum QQuickItem::MutabilityGroup

Diese Enumeration enthält vordefinierte Werte, die für die Eigenschaft „ mutabilityGroup “ verwendet werden können.

KonstanteWertBeschreibung
QQuickItem::AutoMutabilityGroup0x0Die Standardgruppe für die Mutabilität.
QQuickItem::StaticMutabilityGroup0x1Gibt an, dass das Element selten oder nie aktualisiert wird.
QQuickItem::ModerateMutabilityGroup0x8Gibt an, dass das Element mäßig oft aktualisiert wird.
QQuickItem::DynamicMutabilityGroup0xfGibt an, dass das Element häufig bzw. in jedem Frame aktualisiert wird.

Diese Enumeration wurde in Qt 6.12 eingeführt.

enum QQuickItem::TransformOrigin

Legt den Punkt fest, um den herum einfache Transformationen wie Skalierungen angewendet werden.

KonstanteWertBeschreibung
QQuickItem::TopLeft0Die obere linke Ecke des Elements.
QQuickItem::Top1Der Mittelpunkt der Oberkante des Elements.
QQuickItem::TopRight2Die obere rechte Ecke des Elements.
QQuickItem::Left3Der Punkt ganz links in der vertikalen Mitte.
QQuickItem::Center4Die Mitte des Elements.
QQuickItem::Right5Der Punkt ganz rechts in der vertikalen Mitte.
QQuickItem::BottomLeft6Die linke untere Ecke des Elements.
QQuickItem::Bottom7Der Mittelpunkt des unteren Randes des Elements.
QQuickItem::BottomRight8Die rechte untere Ecke des Elements.

Siehe auch transformOrigin() und setTransformOrigin().

Dokumentation zu den Eigenschaften

[read-only] activeFocus : bool

Diese schreibgeschützte Eigenschaft gibt an, ob das Element den aktiven Fokus hat.

Ist `activeFocus` auf `true` gesetzt, ist entweder dieses Element dasjenige, das derzeit Tastatureingaben empfängt, oder es handelt sich um einen ` FocusScope `-Vorgänger des Elements, das derzeit Tastatureingaben empfängt.

In der Regel wird „activeFocus“ erreicht, indem „ focus “ für ein Element und dessen umschließende „ FocusScope “-Objekte gesetzt wird. Im folgenden Beispiel haben die Objekte „ input “ und „ focusScope “ den aktiven Fokus, während das oberste „rectangle“-Objekt keinen aktiven Fokus hat.

import QtQuick 2.0

Rectangle {
    width: 100; height: 100

    FocusScope {
        focus: true

        TextInput {
            id: input
            focus: true
        }
    }
}

Zugriffsfunktionen:

bool hasActiveFocus() const

Siehe auch „ focus “ und „Tastaturfokus“ in „ Qt Quick “.

activeFocusOnTab : bool

Diese Eigenschaft legt fest, ob das Element Teil der Tabulatortasten-Fokus-Kette sein soll. Standardmäßig ist diese Eigenschaft auf „ false “ gesetzt.

Hinweis: „ tabFocusBehavior “ kann den Fokus zusätzlich auf bestimmte Steuerelementtypen beschränken, beispielsweise nur auf Text- oder Listenelemente. Dies ist unter macOS der Fall, wo der Fokus auf bestimmte Steuerelemente je nach Systemeinstellungen eingeschränkt sein kann.

Zugriffsfunktionen:

bool activeFocusOnTab() const
void setActiveFocusOnTab(bool)

Siehe auch „ QStyleHints::tabFocusBehavior “ und „ focusPolicy “.

antialiasing : bool

Gibt an, ob das Element mit Antialiasing dargestellt wird oder nicht

Wird von visuellen Elementen verwendet, um zu entscheiden, ob das Element Antialiasing verwenden soll oder nicht. In manchen Fällen benötigen Elemente mit Antialiasing mehr Speicher und werden möglicherweise langsamer gerendert (weitere Informationen finden Sie unter „Antialiasing“ ).

Der Standardwert ist „false“, kann jedoch von abgeleiteten Elementen überschrieben werden.

Zugriffsfunktionen:

bool antialiasing() const
void setAntialiasing(bool)
void resetAntialiasing()

baselineOffset : qreal

Legt die Position der Grundlinie des Elements in lokalen Koordinaten fest.

Die Grundlinie eines „ Text “-Elements ist die imaginäre Linie, auf der der Text steht. Steuerelemente, die Text enthalten, legen ihre Grundlinie in der Regel auf die Grundlinie ihres Textes fest.

Für Nicht-Text-Elemente wird ein Standard-Grundlinienversatz von 0 verwendet.

Zugriffsfunktionen:

qreal baselineOffset() const
void setBaselineOffset(qreal)

[read-only] childrenRect : QRectF

Diese Eigenschaft enthält die gesammelte Position und Größe der untergeordneten Elemente des Objekts.

Diese Eigenschaft ist nützlich, wenn Sie auf die gesammelte Geometrie der untergeordneten Elemente eines Elements zugreifen müssen, um die Größe des Elements korrekt anzupassen.

Die zurückgegebene Geometrie ist lokal zum Element. Beispiel:

Item {
    x: 50
    y: 100

    // prints: QRectF(-10, -20, 30, 40)
    Component.onCompleted: print(childrenRect)

    Item {
        x: -10
        y: -20
        width: 30
        height: 40
    }
}

Zugriffsfunktionen:

QRectF childrenRect()

clip : bool

Diese Eigenschaft legt fest, ob das Clipping aktiviert ist. Der Standardwert für das Clipping lautet „ false “.

Wenn das Clipping aktiviert ist, beschneidet ein Element sowohl seine eigene Darstellung als auch die Darstellung seiner untergeordneten Elemente auf sein Begrenzungsrechteck. Wenn Sie das Clipping während des Zeichenvorgangs eines Elements aktivieren, denken Sie daran, es anschließend wieder zurückzusetzen, um zu verhindern, dass der Rest Ihrer Szene beschnitten wird.

Hinweis: Das Clipping kann die Rendering-Leistung beeinträchtigen. Weitere Informationen finden Sie unter „Clipping “.

Hinweis: Aus Gründen der QML-Kompatibilität wird durch die Einstellung von `clip` auf ` true ` auch das Flag ` ItemIsViewport ` gesetzt, was in manchen Fällen als Optimierung dient: Unterelemente, bei denen das Flag ` ItemObservesViewport ` gesetzt ist, verzichten unter Umständen auf die Erstellung von Szenengraph-Knoten, die außerhalb des Ansichtsbereichs liegen. Das Flag ` ItemIsViewport ` kann jedoch auch unabhängig davon gesetzt werden.

Zugriffsfunktionen:

bool clip() const
void setClip(bool)

containmentMask : QObject*

Diese Eigenschaft enthält eine optionale Maske, die in der Methode ` contains()` verwendet wird, die hauptsächlich zum Hit-Testing jedes ` QPointerEvent` dient.

Standardmäßig gibt ` contains()` für jeden Punkt innerhalb des Begrenzungsrahmens des Elements ` true ` zurück. Es kann jedoch jedes ` QQuickItem` oder jedes ` QObject `, das eine Funktion der Form

Q_INVOKABLE bool contains(const QPointF &point) const;

als Maske verwendet werden, um das Hit-Testing auf dieses Objekt zu verlagern.

Hinweis: „ contains()“ wird während der Ereignisübermittlung häufig aufgerufen. Die Verlagerung des Hit-Tests auf ein anderes Objekt verlangsamt diesen Vorgang etwas. „containmentMask()“ kann zu Leistungsproblemen führen, wenn die Methode „ contains()“ dieses Objekts nicht effizient ist. Wenn Sie eine benutzerdefinierte Unterklasse von „ QQuickItem “ implementieren, können Sie alternativ „ contains()“ überschreiben.

Zugriffsfunktionen:

QObject *containmentMask() const
void setContainmentMask(QObject *mask)

Notifier-Signal:

void containmentMaskChanged()

Siehe auch ` contains()`.

enabled : bool

Diese Eigenschaft legt fest, ob das Element Maus- und Tastaturereignisse empfängt. Standardmäßig ist dieser Wert „true“.

Das Setzen dieser Eigenschaft wirkt sich direkt auf den Wert von „ enabled “ der untergeordneten Elemente aus. Wenn sie auf „ false “ gesetzt wird, werden die Werte von „ enabled “ aller untergeordneten Elemente ebenfalls auf „ false “ gesetzt. Wenn sie auf „ true “ gesetzt wird, werden die Werte von „ enabled “ der untergeordneten Elemente auf „ true “ zurückgesetzt, sofern sie nicht explizit auf „ false “ gesetzt wurden.

Wird diese Eigenschaft auf „ false “ gesetzt, wird „ activeFocus “ automatisch auf „ false “ gesetzt, und dieses Element empfängt keine Tastaturereignisse mehr.

Hinweis: Hover-Ereignisse werden separat durch ` setAcceptHoverEvents()` aktiviert. Daher kann ein deaktiviertes Element weiterhin Hover-Ereignisse empfangen, selbst wenn diese Eigenschaft auf ` false` gesetzt ist. Dies ermöglicht es, informative Rückmeldungen (wie z. B. ` ToolTip`) anzuzeigen, selbst wenn ein interaktives Element deaktiviert ist. Dasselbe gilt auch für alle ` HoverHandlers `, die als untergeordnete Elemente des Elements hinzugefügt wurden. Ein „ HoverHandler “ kann jedoch explizit auf „ disabled “ gesetzt werden oder beispielsweise an den Status „ enabled “ des Elements gebunden werden.

Zugriffsfunktionen:

bool isEnabled() const
void setEnabled(bool)

Siehe auch visible.

focus : bool

Diese Eigenschaft gibt an, ob das Element innerhalb des umgebenden Elements ` FocusScope` den Fokus hat. Ist der Wert „true“, erhält dieses Element den aktiven Fokus, sobald das umgebende Element ` FocusScope ` den aktiven Fokus erhält.

Im folgenden Beispiel erhält „ input “ den aktiven Fokus, sobald „ scope “ den aktiven Fokus erhält:

import QtQuick 2.0

Rectangle {
    width: 100; height: 100

    FocusScope {
        id: scope

        TextInput {
            id: input
            focus: true
        }
    }
}

Für die Zwecke dieser Eigenschaft wird davon ausgegangen, dass die gesamte Szene wie ein Fokusbereich fungiert. In der Praxis bedeutet dies, dass der folgende QML-Code „ input “ beim Start den aktiven Fokus zuweist.

Rectangle {
    width: 100; height: 100

    TextInput {
          id: input
          focus: true
    }
}

Zugriffsfunktionen:

bool hasFocus() const
void setFocus(bool)
void setFocus(bool focus, Qt::FocusReason reason)

Siehe auch „ activeFocus “ und „Tastaturfokus“ unter Qt Quick.

[since 6.7] focusPolicy : Qt::FocusPolicy

Diese Eigenschaft legt fest, wie das Element den Fokus annimmt.

Diese Aufzählung wurde in Qt 6.7 eingeführt.

Zugriffsfunktionen:

Qt::FocusPolicy focusPolicy() const
void setFocusPolicy(Qt::FocusPolicy policy)

[bindable] height : qreal

Hinweis: Diese Eigenschaft unterstützt „ QProperty “-Bindungen.

Diese Eigenschaft enthält die Höhe dieses Elements.

Zugriffsfunktionen:

qreal height() const
void setHeight(qreal)
void resetHeight()

implicitHeight : qreal

implicitWidth : qreal

Legt die bevorzugte Breite oder Höhe des Elements fest.

Wenn „ width “ oder „ height “ nicht angegeben ist, wird die effektive Größe eines Elements durch „ implicitWidth “ oder „ implicitHeight “ bestimmt.

Ist ein Element jedoch ein untergeordnetes Element eines Layouts, bestimmt das Layout die bevorzugte Größe des Elements anhand seiner impliziten Größe. In einem solchen Fall werden die expliziten Werte „ width “ oder „ height “ ignoriert.

Die standardmäßige implizite Größe für die meisten Elemente beträgt 0x0, einige Elemente verfügen jedoch über eine festgelegte implizite Größe, die nicht überschrieben werden kann, beispielsweise Image und Text.

Die Festlegung der impliziten Größe ist nützlich, um Komponenten zu definieren, die je nach Inhalt eine bevorzugte Größe haben, zum Beispiel:

// Label.qml
import QtQuick 2.0

Item {
    property alias icon: image.source
    property alias label: text.text
    implicitWidth: text.implicitWidth + image.implicitWidth
    implicitHeight: Math.max(text.implicitHeight, image.implicitHeight)
    Image { id: image }
    Text {
        id: text
        wrapMode: Text.Wrap
        anchors.left: image.right; anchors.right: parent.right
        anchors.verticalCenter: parent.verticalCenter
    }
}

Hinweis: Die Verwendung von „ implicitWidth “, „ Text “ oder „ TextEdit “ sowie die explizite Festlegung der Breite führt zu Leistungseinbußen, da der Text zweimal gesetzt werden muss.

[since 6.12] mutabilityGroup : int

Hinweis für den Renderer zur Häufigkeit von Änderungen an einem Element

Dies ist eine fortgeschrittene Eigenschaft, die für Optimierungen auf niedriger Ebene verwendet werden kann. Sie dient als Hinweis für den Renderer, wie oft ein Element aktualisiert wird. In typischen Anwendungsfällen reicht es aus, diese Eigenschaft auf ihrem Standardwert zu belassen (QQuickItem::AutoMutabilityGroup (0)).

In bestimmten Fällen kann eine Leistungsanalyse jedoch Engpässe aufdecken, die das Standardverhalten des „ Qt Quick “-Scenegraph-Renderers nicht optimieren konnte. Typischerweise kann dies passieren, wenn sich schnell ändernde Geometrie zusammen mit statischer Geometrie gebündelt wird. Um dies zu vermeiden, können Sie beispielsweise versuchen, die sich schnell ändernden Komponenten „ QQuickItem::DynamicMutabilityGroup “ zuzuweisen. Geometrie aus verschiedenen Mutabilitätsgruppen wird nicht zusammengebündelt.

Die Mutabilitätsgruppe gilt nur für das Element selbst. Sie wird nicht auf untergeordnete Elemente übertragen.

Weitere Informationen zur Funktionsweise des „ Qt Quick “-Scene-Graph-Renderers und zum Batching von Geometrie finden Sie unter „Qt Quick Scene Graph Default Renderer “.

Hinweis: Der gültige Zahlenbereich für Mutability-Gruppen liegt zwischen [0 .. 15]. Der Wert wird auf diesen Bereich begrenzt. Gemäß Konvention wird erwartet, dass die Frequenz mit dem numerischen Wert der Gruppe zunimmt.

Diese Aufzählung wurde in Qt 6.12 eingeführt.

Zugriffsfunktionen:

int mutabilityGroup() const
void setMutabilityGroup(int mutabilityGroup)

opacity : qreal

Diese Eigenschaft gibt die Deckkraft des Elements an. Die Deckkraft wird als Zahl zwischen 0,0 (vollständig transparent) und 1,0 (vollständig undurchsichtig) angegeben. Der Standardwert ist 1,0.

Wenn diese Eigenschaft festgelegt ist, wird die angegebene Deckkraft auch individuell auf untergeordnete Elemente angewendet. Dies kann unter bestimmten Umständen zu unbeabsichtigten Effekten führen. Im zweiten Satz von Rechtecken unten wurde beispielsweise für das rote Rechteck eine Deckkraft von 0,5 festgelegt, was sich auf die Deckkraft seines blauen untergeordneten Rechtecks auswirkt, obwohl für das untergeordnete Element keine Deckkraft festgelegt wurde.

Werte außerhalb des Bereichs von 0 bis 1 werden auf diesen Bereich begrenzt.

Rote und blaue Rechtecke mit voller Deckkraft

Item {
    Rectangle {
        color: "red"
        width: 100; height: 100
        Rectangle {
            color: "blue"
            x: 50; y: 50; width: 100; height: 100
        }
    }
}

Rote und blaue Rechtecke sind beide halbtransparent, da die Deckkraft des übergeordneten Elements 0,5 beträgt.

Item {
    Rectangle {
        opacity: 0.5
        color: "red"
        width: 100; height: 100
        Rectangle {
            color: "blue"
            x: 50; y: 50; width: 100; height: 100
        }
    }
}

Das Ändern der Deckkraft eines Elements hat keinen Einfluss darauf, ob das Element Benutzereingabeereignisse empfängt. (Im Gegensatz dazu stoppt die Einstellung der Eigenschaft „ visible “ auf „ false “ Mausereignisse, und die Einstellung der Eigenschaft „ enabled “ auf „ false “ stoppt Maus- und Tastaturereignisse und entfernt zudem den aktiven Fokus vom Element.)

Zugriffsfunktionen:

qreal opacity() const
void setOpacity(qreal)

Siehe auch „ visible “.

parent : QQuickItem*

Diese Eigenschaft enthält das visuelle übergeordnete Element des Elements.

Hinweis: Das Konzept des visuellen übergeordneten Elements unterscheidet sich von dem des übergeordneten Elements im Sinne von „QObject “. Das visuelle übergeordnete Element eines Elements ist nicht zwangsläufig dasselbe wie sein übergeordnetes Objekt. Weitere Details finden Sie unter „Konzepte – Visuelles übergeordnetes Element“ auf Qt Quick.

Hinweis: Das Benachrichtigungssignal für diese Eigenschaft wird während der Zerstörung des visuellen übergeordneten Elements ausgelöst. C++-Signal-Handler dürfen nicht davon ausgehen, dass Elemente in der visuellen übergeordneten Hierarchie noch vollständig konstruiert sind. Verwenden Sie „ qobject_cast “, um zu überprüfen, ob Elemente in der übergeordneten Hierarchie sicher als der erwartete Typ verwendet werden können.

Zugriffsfunktionen:

QQuickItem *parentItem() const
void setParentItem(QQuickItem *parent)

rotation : qreal

Diese Eigenschaft gibt die Drehung des Elements in Grad im Uhrzeigersinn um seine Achse „ transformOrigin “ an.

Der Standardwert beträgt 0 Grad (d. h. keine Drehung).

Ein rotes Quadrat, das um 30 Grad gedreht ist, innerhalb eines blauen Quadrats

Rectangle {
    color: "blue"
    width: 100; height: 100
    Rectangle {
        color: "red"
        x: 25; y: 25; width: 50; height: 50
        rotation: 30
    }
}

Zugriffsfunktionen:

qreal rotation() const
void setRotation(qreal)

Siehe auch „ Transform “ und „ Rotation “.

scale : qreal

Diese Eigenschaft enthält den Skalierungsfaktor für dieses Element.

Ein Skalierungsfaktor kleiner als 1,0 bewirkt, dass das Element in einer kleineren Größe dargestellt wird, während ein Skalierungsfaktor größer als 1,0 dazu führt, dass das Element in einer größeren Größe dargestellt wird. Ein negativer Skalierungsfaktor bewirkt, dass das Element bei der Darstellung gespiegelt wird.

Der Standardwert ist 1,0.

Die Skalierung wird über die Eigenschaft „ transformOrigin “ angewendet.

Blaue und rote Quadrate mit festgelegter Skalierung und Positionierung

import QtQuick 2.0

Rectangle {
    color: "blue"
    width: 100; height: 100

    Rectangle {
        color: "green"
        width: 25; height: 25
    }

    Rectangle {
        color: "red"
        x: 25; y: 25; width: 50; height: 50
        scale: 1.4
    }
}

Zugriffsfunktionen:

qreal scale() const
void setScale(qreal)

Siehe auch Transform und Scale.

smooth : bool

Gibt an, ob das Element geglättet wird oder nicht

Wird hauptsächlich bei bildbasierten Elementen verwendet, um zu entscheiden, ob das Element eine geglättete Abtastung verwenden soll oder nicht. Die geglättete Abtastung erfolgt mittels linearer Interpolation, während die nicht geglättete Abtastung mittels des „Nächster-Nachbar“-Verfahrens erfolgt.

In „ Qt Quick “ 2.0 hat diese Eigenschaft nur minimale Auswirkungen auf die Leistung.

Standardmäßig ist diese Eigenschaft auf „ true “ gesetzt.

Zugriffsfunktionen:

bool smooth() const
void setSmooth(bool)

state : QString

Diese Eigenschaft enthält den Namen des aktuellen Zustands des Elements.

Befindet sich das Element im Standardzustand, d. h., es wurde kein expliziter Zustand festgelegt, enthält diese Eigenschaft eine leere Zeichenkette. Ebenso können Sie ein Element in seinen Standardzustand zurücksetzen, indem Sie diese Eigenschaft auf eine leere Zeichenkette setzen.

Zugriffsfunktionen:

QString state() const
void setState(const QString &)

Siehe auch „Qt Quick -Zustände“.

transformOrigin : TransformOrigin

Diese Eigenschaft legt den Ursprungspunkt fest, um den herum Skalierung und Drehung erfolgen.

Es stehen neun Transformationsursprünge zur Verfügung, wie in der Abbildung unten dargestellt. Der Standard-Transformationsursprung ist „ Item.Center “.

Rechteck mit neun Transformationsursprungspunkten: ObenLinks, Oben, ObenRechts, Links, Mitte, Rechts, UntenLinks, Unten, UntenRechts

Zugriffsfunktionen:

QQuickItem::TransformOrigin transformOrigin() const
void setTransformOrigin(QQuickItem::TransformOrigin)

visible : bool

Diese Eigenschaft gibt an, ob das Element sichtbar ist. Standardmäßig ist dies der Fall.

Das Setzen dieser Eigenschaft wirkt sich direkt auf den Wert von „ visible “ der untergeordneten Elemente aus. Bei der Einstellung „ false “ werden die Werte von „ visible “ aller untergeordneten Elemente ebenfalls auf „ false “ gesetzt. Bei der Einstellung „ true “ werden die Werte von „ visible “ der untergeordneten Elemente auf „ true “ zurückgesetzt, sofern sie nicht explizit auf „ false “ gesetzt wurden.

(Aufgrund dieses Folgeverhaltens hat die Verwendung der Eigenschaft „ visible “ möglicherweise nicht den beabsichtigten Effekt, wenn eine Eigenschaftsbindung nur auf explizite Eigenschaftsänderungen reagieren soll. In solchen Fällen ist es möglicherweise besser, stattdessen die Eigenschaft „ opacity “ zu verwenden.)

Wird diese Eigenschaft auf „ false “ gesetzt, empfängt das Element keine Mausereignisse mehr, empfängt jedoch weiterhin Tastaturereignisse und behält die Tastatur-„ focus “ bei, sofern diese festgelegt wurde. (Im Gegensatz dazu stoppt das Setzen der Eigenschaft „ enabled “ auf „ false “ sowohl Maus- als auch Tastaturereignisse und entzieht dem Element zudem den Fokus.)

Hinweis: Der Wertdieser Eigenschaft wird nur durch Änderungen an dieser Eigenschaft selbst oder an der Eigenschaft „ visible “ des übergeordneten Objekts beeinflusst. Er ändert sich beispielsweise nicht, wenn dieses Element aus dem Bildschirmbereich verschoben wird oder wenn sich der Wert von „ opacity “ auf 0 ändert. Aus historischen Gründen ist diese Eigenschaft jedoch nach der Erstellung des Elements auf „true“ gesetzt, auch wenn das Element noch nicht zu einer Szene hinzugefügt wurde. Das Ändern oder Auslesen dieser Eigenschaft eines Elements, das noch nicht zu einer Szene hinzugefügt wurde, führt möglicherweise nicht zu den erwarteten Ergebnissen.

Hinweis: Das Benachrichtigungssignal für diese Eigenschaft wird während der Zerstörung des visuellen übergeordneten Elements ausgelöst. C++-Signal-Handler dürfen nicht davon ausgehen, dass Elemente in der visuellen übergeordneten Hierarchie noch vollständig erstellt sind. Verwenden Sie „ qobject_cast “, um zu überprüfen, ob Elemente in der übergeordneten Hierarchie sicher als der erwartete Typ verwendet werden können.

Zugriffsfunktionen:

bool isVisible() const
void setVisible(bool)

Siehe auch opacity und enabled.

[bindable] width : qreal

Hinweis: Diese Eigenschaft unterstützt „ QProperty “-Bindungen.

Diese Eigenschaft enthält die Breite dieses Elements.

Zugriffsfunktionen:

qreal width() const
void setWidth(qreal)
void resetWidth()

[bindable] x : qreal

Hinweis: Diese Eigenschaft unterstützt „ QProperty “-Bindungen.

Definiert die x-Position des Elements relativ zu seinem übergeordneten Element.

Zugriffsfunktionen:

qreal x() const
void setX(qreal)

[bindable] y : qreal

Hinweis: Diese Eigenschaft unterstützt „ QProperty “-Bindungen.

Definiert die y-Position des Elements relativ zu seinem übergeordneten Element.

Zugriffsfunktionen:

qreal y() const
void setY(qreal)

z : qreal

Legt die Stapelreihenfolge von gleichrangigen Elementen fest. Standardmäßig beträgt die Stapelreihenfolge 0.

Elemente mit einem höheren Stapelwert werden über gleichrangigen Elementen mit einer niedrigeren Stapelreihenfolge gezeichnet. Elemente mit demselben Stapelwert werden von unten nach oben in der Reihenfolge ihrer Darstellung gezeichnet. Elemente mit einem negativen Stapelwert werden unter dem Inhalt ihres übergeordneten Elements gezeichnet.

Das folgende Beispiel veranschaulicht die verschiedenen Effekte der Stapelreihenfolge.

Ein blaues Rechteck über einem roten, später ein Geschwisterkind darauf gestapelt

Gleiche „ z “ – spätere untergeordnete Elemente über früheren untergeordneten Elementen:
Item {
    Rectangle {
        color: "red"
        width: 100; height: 100
    }
    Rectangle {
        color: "blue"
        x: 50; y: 50; width: 100; height: 100
    }
}

Rotes Rechteck über blauem; das mit dem höheren z-Wert wird darüber gestapelt

Höhere „ z “ oben:
Item {
    Rectangle {
        z: 1
        color: "red"
        width: 100; height: 100
    }
    Rectangle {
        color: "blue"
        x: 50; y: 50; width: 100; height: 100
    }
}

Blaues Rechteck über rotem, untergeordnetes Element übergeordnetem Element überlagert

Gleiche „ z “ – Kinder über Eltern:
Item {
    Rectangle {
        color: "red"
        width: 100; height: 100
        Rectangle {
            color: "blue"
            x: 50; y: 50; width: 100; height: 100
        }
    }
}

Rotes Rechteck über blauem, negativer z-Wert unterhalb des übergeordneten Objekts gestapelt

Niedrigeres „ z “ unten:
Item {
    Rectangle {
        color: "red"
        width: 100; height: 100
        Rectangle {
            z: -1
            color: "blue"
            x: 50; y: 50; width: 100; height: 100
        }
    }
}

Zugriffsfunktionen:

qreal z() const
void setZ(qreal)

Dokumentation zu Member-Funktionen

[explicit] QQuickItem::QQuickItem(QQuickItem *parent = nullptr)

Erstellt ein `QQuickItem` mit dem angegebenen ` parent`.

Der ` parent ` wird sowohl als übergeordnetes Element für ` visual parent ` als auch für ` QObject ` verwendet.

[override virtual noexcept] QQuickItem::~QQuickItem()

Zerstört die „ QQuickItem “.

bool QQuickItem::acceptHoverEvents() const

Gibt an, ob Hover-Ereignisse von diesem Element akzeptiert werden.

Der Standardwert ist „false“.

Ist dieser Wert „false“, empfängt das Element keine Hover-Ereignisse über die Funktionen „ hoverEnterEvent()“, „ hoverMoveEvent()“ und „ hoverLeaveEvent()“.

Siehe auch setAcceptHoverEvents().

bool QQuickItem::acceptTouchEvents() const

Gibt zurück, ob Berührungsereignisse von diesem Element akzeptiert werden.

Der Standardwert ist „ false “.

Ist dieser Wert „ false “, erhält das Element keine Berührungsereignisse über die Funktion „ touchEvent()“.

Siehe auch „ setAcceptTouchEvents()“.

Qt::MouseButtons QQuickItem::acceptedMouseButtons() const

Gibt die von diesem Element unterstützten Maustasten zurück.

Der Standardwert ist ` Qt::NoButton`; das heißt, es werden keine Maustasten akzeptiert.

Wenn ein Element die Maustaste für ein bestimmtes Mausereignis nicht akzeptiert, wird das Mausereignis nicht an das Element weitergeleitet, sondern stattdessen an das nächste Element in der Elementhierarchie.

Siehe auch „ setAcceptedMouseButtons()“ und „ acceptTouchEvents()“.

[virtual] QRectF QQuickItem::boundingRect() const

Gibt die Ausdehnung des Elements in seinem eigenen Koordinatensystem zurück: ein Rechteck von 0, 0 bis width() und height().

[invokable] QQuickItem *QQuickItem::childAt(qreal x, qreal y) const

Gibt das erste sichtbare untergeordnete Element zurück, das an der Position (x, y) innerhalb des Koordinatensystems dieses Elements gefunden wird.

Gibt „ nullptr “ zurück, wenn kein solches Element vorhanden ist.

Hinweis: Diese Funktion kann über das Metaobjektsystem und aus QML aufgerufen werden. Siehe Q_INVOKABLE.

QList<QQuickItem *> QQuickItem::childItems() const

Gibt die untergeordneten Elemente dieses Elements zurück.

[virtual protected] bool QQuickItem::childMouseEventFilter(QQuickItem *item, QEvent *event)

Implementieren Sie diese Methode neu, um die Zeigerereignisse zu filtern, die von den untergeordneten Elementen dieses Elements empfangen werden.

Diese Methode wird nur aufgerufen, wenn ` filtersChildMouseEvents()` den Wert ` true` zurückgibt.

Geben Sie ` true ` zurück, wenn das angegebene ` event ` nicht an den angegebenen Unterelement-Filter ` item` weitergeleitet werden soll, und andernfalls ` false `. Wenn Sie ` true` zurückgeben, sollten Sie außerdem ` accept ` oder ` ignore ` für den ` event` festlegen, um zu signalisieren, ob die Ereignisweitergabe gestoppt oder fortgesetzt werden soll. Das ` event ` wird jedoch immer an alle `childMouseEventFilters` entlang der übergeordneten Kette gesendet.

Hinweis: Trotz des Namens filtert diese Funktion alle „ QPointerEvent “-Instanzen während der Weiterleitung an alle untergeordneten Elemente (typischerweise Maus-, Touch- und Tablet-Ereignisse). Beim Überschreiben dieser Funktion in einer Unterklasse empfehlen wir, generischen Code zur Ereignisbehandlung zu schreiben, der ausschließlich die in QPointerEvent aufgeführten Zugriffsmethoden verwendet. Alternativ können Sie „ event->type() “ und/oder „ event->device()->type() “ aktivieren, um verschiedene Ereignistypen unterschiedlich zu behandeln.

Hinweis: Das Filtern ist nur eine Möglichkeit, die Verantwortung im Falle von mehrdeutigen Gesten aufzuteilen (beispielsweise weiß man beim Drücken nicht, ob der Benutzer tippen oder ziehen wird). Eine weitere Möglichkeit besteht darin, beim Drücken „ QPointerEvent::addPassiveGrabber()“ aufzurufen, um den Fortschritt von „ QEventPoint “ nicht-exklusiv zu überwachen. In beiden Fällen kann der überwachende Element- oder Zeiger-Handler später die exklusive Kontrolle übernehmen, sobald klar wird, dass die Geste dem erwarteten Muster entspricht.

Siehe auch ` setFiltersChildMouseEvents()`.

[override virtual protected] void QQuickItem::classBegin()

Implementiert: ` QQmlParserStatus::classBegin()`.

Abgeleitete Klassen sollten die Methode der Basisklasse aufrufen, bevor sie ihre eigene Aktion hinzufügen, die bei `classBegin` ausgeführt werden soll.

[virtual] QRectF QQuickItem::clipRect() const

Gibt den rechteckigen Bereich innerhalb dieses Elements zurück, der derzeit in viewportItem() sichtbar ist, sofern ein Viewport vorhanden ist und das Flag „ ItemObservesViewport “ gesetzt ist; andernfalls die Ausdehnung dieses Elements in seinem eigenen Koordinatensystem: ein Rechteck von 0, 0 bis width() und height(). Dies ist der Bereich, der sichtbar bleiben soll, wenn „ clip “ auf „ true “ gesetzt ist. Er kann auch in „ updatePaintNode “ () verwendet werden, um die dem Szenengraphen hinzugefügten Grafiken zu begrenzen.

Beispielsweise könnte eine große Zeichnung oder ein umfangreiches Textdokument in einem „Flickable“ angezeigt werden, das nur einen Teil des Anwendungsfensters einnimmt: In diesem Fall ist „Flickable“ das Viewport-Element, und ein benutzerdefiniertes Element zur Inhaltsdarstellung kann Scene-Graph-Knoten weglassen, die außerhalb des aktuell sichtbaren Bereichs liegen. Ist das Flag „ ItemObservesViewport “ gesetzt, ändert sich dieser Bereich jedes Mal, wenn der Benutzer den Inhalt im „Flickable“ scrollt.

Bei verschachtelten Viewport-Elementen ist `clipRect()` die Schnittmenge der ` boundingRect`-Werte aller übergeordneten Elemente, bei denen das Flag ` ItemIsViewport ` gesetzt ist, abgebildet auf das Koordinatensystem dieses Elements.

Siehe auch ` boundingRect()`.

[override virtual protected] void QQuickItem::componentComplete()

Implementiert: ` QQmlParserStatus::componentComplete()`.

Abgeleitete Klassen sollten die Methode der Basisklasse aufrufen, bevor sie ihre eigenen Aktionen hinzufügen, die bei `componentComplete` ausgeführt werden sollen.

[virtual invokable] bool QQuickItem::contains(const QPointF &point) const

Gibt „ true “ zurück, wenn dieses Element „ point “ enthält, das in lokalen Koordinaten angegeben ist; andernfalls wird „ false “ zurückgegeben.

Diese Funktion kann überschrieben werden, um Punktkollisionen in Elementen mit benutzerdefinierten Formen zu behandeln. Die Standardimplementierung prüft, ob sich der Punkt innerhalb von ` containmentMask()` befindet, sofern dieser festgelegt ist, oder andernfalls innerhalb der Begrenzungsbox.

Hinweis: Diese Methode wird zur Hit-Prüfung jedes ` QEventPoint ` während der Ereignisauslieferung verwendet, daher sollte die Implementierung so schlank wie möglich gehalten werden.

Hinweis: Diese Funktion kann über das Metaobjektsystem und aus QML aufgerufen werden. Siehe Q_INVOKABLE.

QCursor QQuickItem::cursor() const

Gibt die Cursorform für dieses Element zurück.

Der Mauszeiger nimmt diese Form an, wenn er sich über diesem Element befindet, sofern kein eigener Mauszeiger festgelegt wurde. Eine Auswahl nützlicher Formen finden Sie unter list of predefined cursor objects.

Wenn keine Cursorform festgelegt wurde, wird ein Cursor mit der Form „ Qt::ArrowCursor “ zurückgegeben; es kann jedoch eine andere Cursorform angezeigt werden, wenn ein überlappendes Element einen gültigen Cursor besitzt.

Siehe auch „ setCursor()“ und „ unsetCursor()“.

[virtual protected] void QQuickItem::dragEnterEvent(QDragEnterEvent *event)

Dieser Ereignis-Handler kann in einer Unterklasse neu implementiert werden, um „drag-enter“-Ereignisse für ein Element zu empfangen. Die Ereignisinformationen werden über den Parameter „ event “ bereitgestellt.

Drag-and-Drop-Ereignisse werden nur bereitgestellt, wenn für dieses Element das Flag „ ItemAcceptsDrops “ gesetzt wurde.

Das Ereignis wird standardmäßig akzeptiert, daher ist es nicht erforderlich, das Ereignis explizit zu akzeptieren, wenn Sie diese Funktion neu implementieren. Wenn Sie das Ereignis nicht akzeptieren möchten, rufen Sie ` event->ignore()` auf.

Siehe auch „ Drag “ und „Drag & Drop“.

[virtual protected] void QQuickItem::dragLeaveEvent(QDragLeaveEvent *event)

Dieser Ereignisbehandler kann in einer Unterklasse neu implementiert werden, um „Drag-Leave“-Ereignisse für ein Element zu empfangen. Die Ereignisinformationen werden über den Parameter „ event “ bereitgestellt.

Drag-and-Drop-Ereignisse werden nur bereitgestellt, wenn für dieses Element das Flag „ ItemAcceptsDrops “ gesetzt wurde.

Das Ereignis wird standardmäßig akzeptiert, daher ist es nicht erforderlich, das Ereignis explizit zu akzeptieren, wenn Sie diese Funktion neu implementieren. Wenn Sie das Ereignis nicht akzeptieren möchten, rufen Sie „ event->ignore() “ auf.

Siehe auch „ Drag “ und „Drag-and-Drop“.

[virtual protected] void QQuickItem::dragMoveEvent(QDragMoveEvent *event)

Dieser Ereignis-Handler kann in einer Unterklasse neu implementiert werden, um Drag-Move-Ereignisse für ein Element zu empfangen. Die Ereignisinformationen werden über den Parameter „ event “ bereitgestellt.

Drag-and-Drop-Ereignisse werden nur bereitgestellt, wenn für dieses Element das Flag „ ItemAcceptsDrops “ gesetzt wurde.

Das Ereignis wird standardmäßig akzeptiert, sodass es nicht erforderlich ist, das Ereignis explizit zu akzeptieren, wenn Sie diese Funktion neu implementieren. Wenn Sie das Ereignis nicht akzeptieren möchten, rufen Sie ` event->ignore()` auf.

Siehe auch „ Drag “ und „Drag-and-Drop“.

[virtual protected] void QQuickItem::dropEvent(QDropEvent *event)

Dieser Ereignis-Handler kann in einer Unterklasse neu implementiert werden, um Drop-Ereignisse für ein Element zu empfangen. Die Ereignisinformationen werden über den Parameter „ event “ bereitgestellt.

Drag-and-Drop-Ereignisse werden nur bereitgestellt, wenn für dieses Element das Flag „ ItemAcceptsDrops “ gesetzt wurde.

Das Ereignis wird standardmäßig akzeptiert, daher ist es nicht erforderlich, das Ereignis explizit zu akzeptieren, wenn Sie diese Funktion neu implementieren. Wenn Sie das Ereignis nicht akzeptieren möchten, rufen Sie ` event->ignore()` auf.

Siehe auch „ Drag “ und „Drag-and-Drop“.

[invokable, since 6.3] void QQuickItem::dumpItemTree() const

Gibt rekursiv einige Details zum visuellen Baum der Elemente aus, beginnend mit diesem Element.

Hinweis: ` QObject::dumpObjectTree()` gibt einen ähnlichen Baum aus; wie jedoch unter „Konzepte – Visuelles übergeordnetes Element“ auf Qt Quick erläutert, weicht die Ausgabe von ` QObject::parent()` eines Elements manchmal von der von ` QQuickItem::parentItem()` ab. Sie können beide Bäume ausgeben, um den Unterschied zu sehen.

Hinweis: Das genaue Ausgabeformat kann sich in zukünftigen Versionen von Qt ändern.

Hinweis: Diese Funktion kann über das Metaobjektsystem und aus QML aufgerufen werden. Siehe Q_INVOKABLE.

Diese Funktion wurde in Qt 6.3 eingeführt.

Siehe auch „Debugging-Techniken“ und den „ Qt Quick -Inspector“ von GammaRay.

[invokable, since 6.3] void QQuickItem::ensurePolished()

Ruft „ updatePolish()“ auf

Dies kann für Elemente wie Layouts (oder Positionierer) nützlich sein, die die Berechnung ihrer „ implicitWidth “ und „ implicitHeight “ verzögern, bis sie ein „PolishEvent“ erhalten.

Normalerweise wird die implizite Größe nicht sofort berechnet, wenn beispielsweise ein untergeordnetes Element zu einem Layout hinzugefügt oder daraus entfernt wird (dies ist eine Optimierung). In manchen Fällen kann es wünschenswert sein, die implizite Größe des Layouts unmittelbar nach dem Hinzufügen eines untergeordneten Elements abzufragen. Verwenden Sie in diesem Fall diese Funktion direkt vor der Abfrage der impliziten Größe.

Hinweis: Diese Funktion kann über das Metaobjektsystem und aus QML aufgerufen werden. Siehe Q_INVOKABLE.

Diese Funktion wurde in Qt 6.3 eingeführt.

Siehe auch updatePolish() und polish().

[override virtual protected] bool QQuickItem::event(QEvent *ev)

Implementiert: ` QObject::event(QEvent *e)`.

bool QQuickItem::filtersChildMouseEvents() const

Gibt zurück, ob Zeigerereignisse, die für die untergeordneten Elemente dieses Elements bestimmt sind, über dieses Element gefiltert werden sollen.

Wenn sowohl dieses Element als auch ein untergeordnetes Element über ` acceptTouchEvents()` true verfügen, filtert dieses Element bei einer Berührungsinteraktion das Berührungsereignis. Kann jedoch entweder dieses Element oder das untergeordnete Element keine Berührungsereignisse verarbeiten, wird ` childMouseEventFilter()` mit einem synthetisierten Mausereignis aufgerufen.

Siehe auch „ setFiltersChildMouseEvents()“ und „ childMouseEventFilter()“.

QQuickItem::Flags QQuickItem::flags() const

Gibt die Elementflags für dieses Element zurück.

Siehe auch setFlags() und setFlag().

[virtual protected] void QQuickItem::focusInEvent(QFocusEvent *event)

Dieser Ereignis-Handler kann in einer Unterklasse neu implementiert werden, um „Focus-in“-Ereignisse für ein Element zu empfangen. Die Ereignisinformationen werden über den Parameter „ event “ bereitgestellt.

Das Ereignis wird standardmäßig angenommen, daher ist es nicht erforderlich, das Ereignis explizit anzunehmen, wenn Sie diese Funktion neu implementieren. Wenn Sie das Ereignis nicht annehmen möchten, rufen Sie ` event->ignore()` auf.

Wenn Sie diese Funktion neu implementieren, sollten Sie die Implementierung der Basisklasse aufrufen.

[virtual protected] void QQuickItem::focusOutEvent(QFocusEvent *event)

Dieser Ereignis-Handler kann in einer Unterklasse neu implementiert werden, um „Focus-Out“-Ereignisse für ein Element zu empfangen. Die Ereignisinformationen werden über den Parameter „ event “ bereitgestellt.

Das Ereignis wird standardmäßig akzeptiert, sodass es nicht erforderlich ist, das Ereignis explizit zu akzeptieren, wenn Sie diese Funktion neu implementieren. Wenn Sie das Ereignis nicht akzeptieren möchten, rufen Sie „ event->ignore() “ auf.

[invokable] void QQuickItem::forceActiveFocus()

Setzt den Fokus aktiv auf das Element.

Diese Methode setzt den Fokus auf das Element und stellt sicher, dass alle übergeordneten Objekte vom Typ „ FocusScope “ in der Objekthierarchie ebenfalls den Fokus erhalten focus.

Der Grund für die Fokusänderung ist „ Qt::OtherFocusReason “. Verwenden Sie die überladene Methode, um den Fokusgrund anzugeben und so eine bessere Handhabung der Fokusänderung zu ermöglichen.

Hinweis: Diese Funktion kann über das Metaobjektsystem und aus QML aufgerufen werden. Siehe „ Q_INVOKABLE “.

Siehe auch activeFocus.

[invokable] void QQuickItem::forceActiveFocus(Qt::FocusReason reason)

Setzt den aktiven Fokus auf das Element mit der angegebenen ID „ reason “.

Diese Methode setzt den Fokus auf das Element und stellt sicher, dass alle übergeordneten Objekte vom Typ „ FocusScope “ in der Objekthierarchie ebenfalls den Wert „ focus “ erhalten.

Hinweis: Diese Funktion kann über das Metaobjektsystem und aus QML aufgerufen werden. Siehe „ Q_INVOKABLE “.

Dies ist eine überladene Funktion.

Siehe auch „ activeFocus “ und „ Qt::FocusReason “.

[virtual protected, since 6.0] void QQuickItem::geometryChange(const QRectF &newGeometry, const QRectF &oldGeometry)

Diese Funktion wird aufgerufen, um Änderungen an der Geometrie dieses Elements von oldGeometry zu newGeometry zu verarbeiten. Sind die beiden Geometrien identisch, wird nichts unternommen.

Abgeleitete Klassen müssen die Methode der Basisklasse in ihrer Implementierung aufrufen.

Diese Funktion wurde in Qt 6.0 eingeführt.

QSharedPointer<QQuickItemGrabResult> QQuickItem::grabToImage(const QSize &targetSize = QSize())

Lädt das Element in ein Speicherabbild.

Das Laden erfolgt asynchron, und das Signal ` QQuickItemGrabResult::ready()` wird ausgelöst, sobald der Ladevorgang abgeschlossen ist.

Verwenden Sie ` targetSize `, um die Größe des Zielbildes festzulegen. Standardmäßig hat das Ergebnis dieselbe Größe wie `item`.

Wenn die Erfassung nicht initiiert werden konnte, gibt die Funktion ` null` zurück.

Hinweis: Diese Funktion rendert das Element auf eine Offscreen-Oberfläche und kopiert diese Oberfläche vom GPU-Speicher in den CPU-Speicher, was recht rechenintensiv sein kann. Für eine „Live“-Vorschau verwenden Sie „ layers “ oder „ ShaderEffectSource “.

Siehe auch QQuickWindow::grabWindow().

[protected] bool QQuickItem::heightValid() const

Gibt zurück, ob die Eigenschaft „height“ explizit festgelegt wurde.

[virtual protected] void QQuickItem::hoverEnterEvent(QHoverEvent *event)

Dieser Ereignis-Handler kann in einer Unterklasse neu implementiert werden, um „Hover-Enter“-Ereignisse für ein Element zu empfangen. Die Ereignisinformationen werden über den Parameter „ event “ bereitgestellt.

Hover-Ereignisse werden nur bereitgestellt, wenn „ acceptHoverEvents()“ auf „true“ gesetzt ist.

Das Ereignis wird standardmäßig akzeptiert, daher ist es nicht erforderlich, das Ereignis explizit zu akzeptieren, wenn Sie diese Funktion neu implementieren. Wenn Sie das Ereignis nicht akzeptieren möchten, rufen Sie ` event->ignore()` auf.

[virtual protected] void QQuickItem::hoverLeaveEvent(QHoverEvent *event)

Dieser Ereignishandler kann in einer Unterklasse neu implementiert werden, um „Hover-Leave“-Ereignisse für ein Element zu empfangen. Die Ereignisinformationen werden über den Parameter „ event “ bereitgestellt.

Hover-Ereignisse werden nur bereitgestellt, wenn acceptHoverEvents() den Wert „true“ hat.

Das Ereignis wird standardmäßig angenommen, sodass es nicht erforderlich ist, das Ereignis explizit anzunehmen, wenn Sie diese Funktion neu implementieren. Wenn Sie das Ereignis nicht annehmen möchten, rufen Sie ` event->ignore()` auf.

[virtual protected] void QQuickItem::hoverMoveEvent(QHoverEvent *event)

Dieser Ereignisbehandler kann in einer Unterklasse neu implementiert werden, um Hover-Move-Ereignisse für ein Element zu empfangen. Die Ereignisinformationen werden über den Parameter „ event “ bereitgestellt.

Hover-Ereignisse werden nur bereitgestellt, wenn „ acceptHoverEvents()“ auf „true“ gesetzt ist.

Das Ereignis wird standardmäßig akzeptiert, sodass es nicht erforderlich ist, das Ereignis explizit zu akzeptieren, wenn Sie diese Funktion neu implementieren. Wenn Sie das Ereignis nicht akzeptieren möchten, rufen Sie ` event->ignore()` auf.

qreal QQuickItem::implicitWidth() const

Gibt die Breite des Elements zurück, die sich aus anderen Eigenschaften ergibt, die den Inhalt bestimmen.

Hinweis: Getter -Funktion für die Eigenschaft „implicitWidth“.

Siehe auch „ setImplicitWidth()“.

[virtual protected] void QQuickItem::inputMethodEvent(QInputMethodEvent *event)

Dieser Ereignishandler kann in einer Unterklasse neu implementiert werden, um Eingabemethoden-Ereignisse für ein Element zu empfangen. Die Ereignisinformationen werden über den Parameter „ event “ bereitgestellt.

Das Ereignis wird standardmäßig akzeptiert, sodass es nicht erforderlich ist, das Ereignis explizit zu akzeptieren, wenn Sie diese Funktion neu implementieren. Wenn Sie das Ereignis nicht akzeptieren möchten, rufen Sie ` event->ignore()` auf.

[virtual] QVariant QQuickItem::inputMethodQuery(Qt::InputMethodQuery query) const

Diese Methode ist nur für Eingabeelemente relevant.

Wenn es sich bei diesem Element um ein Eingabeelement handelt, sollte diese Methode neu implementiert werden, um die entsprechenden Eingabemethoden-Flags für die angegebene ` query` zurückzugeben.

Siehe auch ` QWidget::inputMethodQuery()`.

bool QQuickItem::isAncestorOf(const QQuickItem *child) const

Gibt „ true “ zurück, wenn dieses Element ein Vorfahr von „ child “ ist (d. h., wenn dieses Element das übergeordnete Element von „ child “ ist oder zu den Vorfahren eines der übergeordneten Elemente von „ child “ gehört).

Siehe auch parentItem().

[protected] bool QQuickItem::isComponentComplete() const

Gibt „true“ zurück, wenn die Erstellung der QML-Komponente abgeschlossen ist; andernfalls wird „false“ zurückgegeben.

Häufig ist es wünschenswert, bestimmte Verarbeitungsschritte zu verzögern, bis die Komponente fertiggestellt ist.

Siehe auch ` componentComplete()`.

bool QQuickItem::isFocusScope() const

Gibt „true“ zurück, wenn es sich bei diesem Element um einen Fokusbereich handelt, andernfalls „false“.

[virtual] bool QQuickItem::isTextureProvider() const

Gibt „true“ zurück, wenn dieses Element ein Textur-Provider ist. Die Standardimplementierung gibt „false“ zurück.

Diese Funktion kann von jedem Thread aus aufgerufen werden.

[virtual protected] void QQuickItem::itemChange(QQuickItem::ItemChange change, const QQuickItem::ItemChangeData &value)

Wird aufgerufen, wenn für dieses Element „ change “ auftritt.

value Enthält gegebenenfalls zusätzliche Informationen zur Änderung.

Wenn Sie diese Methode in einer Unterklasse neu implementieren, stellen Sie sicher, dass Sie

QQuickItem::itemChange(change, value);

in der Regel am Ende Ihrer Implementierung aufrufen, um sicherzustellen, dass das Signal „ windowChanged()“ ausgelöst wird.

bool QQuickItem::keepMouseGrab() const

Gibt zurück, ob die Maus-Eingabe ausschließlich bei diesem Element verbleiben soll.

Siehe auch setKeepMouseGrab(), QEvent::accept() und QEvent::ignore().

bool QQuickItem::keepTouchGrab() const

Gibt zurück, ob die von diesem Element erfassten Berührungspunkte ausschließlich bei diesem Element verbleiben sollen.

Siehe auch setKeepTouchGrab(), keepMouseGrab(), QEvent::accept() und QEvent::ignore().

[virtual protected] void QQuickItem::keyPressEvent(QKeyEvent *event)

Dieser Ereignisbehandler kann in einer Unterklasse neu implementiert werden, um Tastendruckereignisse für ein Element zu empfangen. Die Ereignisinformationen werden über den Parameter „ event “ bereitgestellt.

Das Ereignis wird standardmäßig akzeptiert, daher ist es nicht erforderlich, das Ereignis explizit zu akzeptieren, wenn Sie diese Funktion neu implementieren. Wenn Sie das Ereignis nicht akzeptieren möchten, rufen Sie ` event->ignore()` auf.

[virtual protected] void QQuickItem::keyReleaseEvent(QKeyEvent *event)

Dieser Ereignis-Handler kann in einer Unterklasse neu implementiert werden, um Tastenloslass-Ereignisse für ein Element zu empfangen. Die Ereignisinformationen werden über den Parameter „ event “ bereitgestellt.

Das Ereignis wird standardmäßig angenommen, sodass es nicht erforderlich ist, das Ereignis explizit anzunehmen, wenn Sie diese Funktion neu implementieren. Wenn Sie das Ereignis nicht annehmen möchten, rufen Sie ` event->ignore()` auf.

[invokable] QPointF QQuickItem::mapFromGlobal(const QPointF &point) const

Ordnet die angegebene point im globalen Bildschirmkoordinatensystem dem entsprechenden Punkt im Koordinatensystem dieses Elements zu und gibt die zugeordnete Koordinate zurück.

Die folgenden Eigenschaften des Elements werden bei der Abbildung verwendet: ` x`, ` y`, ` scale`, ` rotation`, ` transformOrigin` und ` transform`.

Wenn die Elemente Teil verschiedener Szenen sind, umfasst die Zuordnung die relative Position der beiden Szenen.

Dies kann beispielsweise hilfreich sein, um ein Popup zu einer „ Qt Quick “-Komponente hinzuzufügen.

Hinweis: Die Positionierungdes Fensters erfolgt durch den Fenstermanager, und dieser Wert wird lediglich als Richtwert behandelt. Daher kann die resultierende Fensterposition von der erwarteten abweichen.

Hinweis: Befindet sich dieses Element in einer Unterszene, z. B. auf ein 3D- Model -Objekt abgebildet, wird das UV-Mapping in diese Transformation einbezogen, sodass tatsächlich von Bildschirmkoordinaten zu den Koordinaten dieses Elements gewandelt wird, sofern sich point tatsächlich innerhalb der Grenzen dieses Elements befindet. Die anderen Mapping-Funktionen funktionieren noch nicht auf diese Weise.

Hinweis: Diese Funktion kann über das Metaobjektsystem und aus QML aufgerufen werden. Siehe Q_INVOKABLE.

Siehe auch „Konzepte – Visuelle Koordinaten“ unter Qt Quick.

[invokable] QPointF QQuickItem::mapFromItem(const QQuickItem *item, const QPointF &point) const

Ordnet die angegebene Koordinate „ point “ im Koordinatensystem von „ item “ dem entsprechenden Punkt im Koordinatensystem dieses Elements zu und gibt die zugeordnete Koordinate zurück.

Die folgenden Eigenschaften des Elements werden bei der Zuordnung verwendet: „ x “, „ y “, „ scale “, „ rotation “, „ transformOrigin “ und „ transform “.

Wenn die Elemente Teil verschiedener Szenen sind, umfasst die Zuordnung die relative Position der beiden Szenen.

Wenn „ item “ auf „ nullptr “ gesetzt ist, erfolgt die Zuordnung von „ point “ ausgehend vom Koordinatensystem der Szene.

Hinweis: Diese Funktion kann über das Metaobjektsystem und aus QML aufgerufen werden. Siehe Q_INVOKABLE.

Siehe auch „Konzepte – Visuelle Koordinaten“ unter Qt Quick.

QPointF QQuickItem::mapFromScene(const QPointF &point) const

Ordnet die im Koordinatensystem der Szene angegebene point dem entsprechenden Punkt im Koordinatensystem dieses Elements zu und gibt die zugeordnete Koordinate zurück.

Die folgenden Eigenschaften des Elements werden bei der Zuordnung verwendet: „ x “, „ y “, „ scale “, „ rotation “, „ transformOrigin “ und „ transform “.

Wenn die Elemente Teil unterschiedlicher Szenen sind, umfasst die Zuordnung die relative Position der beiden Szenen.

Siehe auch „Konzepte – Visuelle Koordinaten“ unter Qt Quick.

QRectF QQuickItem::mapRectFromItem(const QQuickItem *item, const QRectF &rect) const

Ordnet die im Koordinatensystem von item angegebenen Koordinaten rect dem entsprechenden rechteckigen Bereich im Koordinatensystem dieses Elements zu und gibt den Wert des zugeordneten Rechtecks zurück.

Die folgenden Eigenschaften des Elements werden bei der Abbildung verwendet: „ x “, „ y “, „ scale “, „ rotation “, „ transformOrigin “ und „ transform “.

Wenn die Elemente Teil verschiedener Szenen sind, umfasst die Zuordnung die relative Position der beiden Szenen.

Wenn „ item “ auf „ nullptr “ gesetzt ist, erfolgt die Zuordnung von „ rect “ aus dem Koordinatensystem der Szene.

Siehe auch „Konzepte – Visuelle Koordinaten“ unter Qt Quick.

QRectF QQuickItem::mapRectFromScene(const QRectF &rect) const

Ordnet die angegebenen Koordinaten „ rect “ im Koordinatensystem der Szene dem entsprechenden rechteckigen Bereich im Koordinatensystem dieses Elements zu und gibt den Wert des zugeordneten Rechtecks zurück.

Die folgenden Eigenschaften des Elements werden bei der Abbildung verwendet: „ x “, „ y “, „ scale “, „ rotation “, „ transformOrigin “ und „ transform “.

Wenn die Elemente Teil verschiedener Szenen sind, umfasst die Zuordnung die relative Position der beiden Szenen.

Siehe auch „Konzepte – Visuelle Koordinaten“ unter Qt Quick.

QRectF QQuickItem::mapRectToItem(const QQuickItem *item, const QRectF &rect) const

Ordnet die im Koordinatensystem dieses Elements angegebene rect dem entsprechenden rechteckigen Bereich im Koordinatensystem von item zu und gibt den Wert des zugeordneten Rechtecks zurück.

Die folgenden Eigenschaften des Elements werden bei der Abbildung verwendet: „ x “, „ y “, „ scale “, „ rotation “, „ transformOrigin “ und „ transform “.

Wenn die Elemente Teil verschiedener Szenen sind, umfasst die Zuordnung die relative Position der beiden Szenen.

Wenn „ item “ auf „ nullptr “ gesetzt ist, wird „ rect “ auf das Koordinatensystem der Szene abgebildet.

Siehe auch „Konzepte – Visuelle Koordinaten“ unter Qt Quick.

QRectF QQuickItem::mapRectToScene(const QRectF &rect) const

Ordnet die im Koordinatensystem dieses Elements angegebene „ rect “ dem entsprechenden rechteckigen Bereich im Koordinatensystem der Szene zu und gibt den Wert des zugeordneten Rechtecks zurück.

Die folgenden Eigenschaften des Elements werden bei der Abbildung verwendet: „ x “, „ y “, „ scale “, „ rotation “, „ transformOrigin “ und „ transform “.

Wenn die Elemente Teil verschiedener Szenen sind, umfasst die Zuordnung die relative Position der beiden Szenen.

Siehe auch „Konzepte – Visuelle Koordinaten“ unter Qt Quick.

[invokable] QPointF QQuickItem::mapToGlobal(const QPointF &point) const

Ordnet die im Koordinatensystem dieses Elements angegebene „ point “ dem entsprechenden Punkt im globalen Bildschirmkoordinatensystem zu und gibt die zugeordnete Koordinate zurück.

Die folgenden Eigenschaften des Elements werden bei der Abbildung verwendet: „ x “, „ y “, „ scale “, „ rotation “, „ transformOrigin “ und „ transform “.

Wenn die Elemente Teil verschiedener Szenen sind, umfasst die Zuordnung die relative Position der beiden Szenen.

Dies kann beispielsweise hilfreich sein, um ein Popup zu einer „ Qt Quick “-Komponente hinzuzufügen.

Hinweis: Die Positionierungdes Fensters erfolgt durch den Fenstermanager, und dieser Wert wird lediglich als Hinweis behandelt. Daher kann die resultierende Fensterposition von den Erwartungen abweichen.

Hinweis: Diese Funktion kann über das Metaobjektsystem und aus QML aufgerufen werden. Siehe „ Q_INVOKABLE “.

Siehe auch „Konzepte – Visuelle Koordinaten“ unter Qt Quick.

[invokable] QPointF QQuickItem::mapToItem(const QQuickItem *item, const QPointF &point) const

Ordnet die im Koordinatensystem dieses Elements angegebene Koordinate „ point “ dem entsprechenden Punkt im Koordinatensystem von „ item “ zu und gibt die zugeordnete Koordinate zurück.

Die folgenden Eigenschaften des Elements werden bei der Abbildung verwendet: „ x “, „ y “, „ scale “, „ rotation “, „ transformOrigin “ und „ transform “.

Wenn die Elemente Teil verschiedener Szenen sind, umfasst die Zuordnung die relative Position der beiden Szenen.

Wenn „ item “ auf „ nullptr “ gesetzt ist, wird „ point “ auf das Koordinatensystem der Szene abgebildet.

Hinweis: Diese Funktion kann über das Metaobjektsystem und aus QML aufgerufen werden. Siehe Q_INVOKABLE.

Siehe auch „Konzepte – Visuelle Koordinaten“ unter Qt Quick.

QPointF QQuickItem::mapToScene(const QPointF &point) const

Ordnet die in diesem Element im Koordinatensystem „ point “ angegebene Koordinate dem entsprechenden Punkt im Koordinatensystem der Szene zu und gibt die zugeordnete Koordinate zurück.

Die folgenden Eigenschaften des Elements werden bei der Zuordnung verwendet: „ x “, „ y “, „ scale “, „ rotation “, „ transformOrigin “ und „ transform “.

Wenn die Elemente Teil verschiedener Szenen sind, umfasst die Zuordnung die relative Position der beiden Szenen.

Siehe auch „Konzepte – Visuelle Koordinaten“ unter Qt Quick.

[virtual protected] void QQuickItem::mouseDoubleClickEvent(QMouseEvent *event)

Dieser Ereignishandler kann in einer Unterklasse neu implementiert werden, um Doppelklick-Ereignisse für ein Element zu empfangen. Die Ereignisinformationen werden über den Parameter „ event “ bereitgestellt.

Das Ereignis wird standardmäßig akzeptiert, sodass es nicht erforderlich ist, das Ereignis explizit zu akzeptieren, wenn Sie diese Funktion neu implementieren. Wenn Sie das Ereignis nicht akzeptieren möchten, rufen Sie ` event->ignore()` auf.

[virtual protected] void QQuickItem::mouseMoveEvent(QMouseEvent *event)

Dieser Ereignis-Handler kann in einer Unterklasse neu implementiert werden, um Mausbewegungsereignisse für ein Element zu empfangen. Die Ereignisinformationen werden über den Parameter „ event “ bereitgestellt.

Um Mausbewegungsereignisse zu empfangen, muss das vorangehende Mausklick-Ereignis akzeptiert werden (beispielsweise durch Überschreiben von ` mousePressEvent()`) und ` acceptedMouseButtons()` muss die entsprechende Maustaste zurückgeben.

Das Ereignis wird standardmäßig akzeptiert, sodass es nicht erforderlich ist, das Ereignis explizit zu akzeptieren, wenn Sie diese Funktion neu implementieren. Wenn Sie das Ereignis nicht akzeptieren möchten, rufen Sie ` event->ignore()` auf.

[virtual protected] void QQuickItem::mousePressEvent(QMouseEvent *event)

Dieser Ereignishandler kann in einer Unterklasse neu implementiert werden, um Mausklick-Ereignisse für ein Element zu empfangen. Die Ereignisinformationen werden über den Parameter „ event “ bereitgestellt.

Um Mausklick-Ereignisse zu empfangen, muss ` acceptedMouseButtons()` die entsprechende Maustaste zurückgeben.

Das Ereignis wird standardmäßig akzeptiert, daher ist es nicht erforderlich, das Ereignis explizit zu akzeptieren, wenn Sie diese Funktion neu implementieren. Wenn Sie das Ereignis nicht akzeptieren möchten, rufen Sie ` event->ignore()` auf.

[virtual protected] void QQuickItem::mouseReleaseEvent(QMouseEvent *event)

Dieser Ereignis-Handler kann in einer Unterklasse neu implementiert werden, um Mausloslass-Ereignisse für ein Element zu empfangen. Die Ereignisinformationen werden über den Parameter „ event “ bereitgestellt.

Um Mausloslass-Ereignisse zu empfangen, muss das vorangehende Mausdruck-Ereignis akzeptiert werden (beispielsweise durch Überschreiben von ` mousePressEvent()`) und ` acceptedMouseButtons()` muss die entsprechende Maustaste zurückgeben.

Das Ereignis wird standardmäßig akzeptiert, sodass es nicht notwendig ist, das Ereignis explizit zu akzeptieren, wenn Sie diese Funktion neu implementieren. Wenn Sie das Ereignis nicht akzeptieren möchten, rufen Sie ` event->ignore()` auf.

[virtual protected] void QQuickItem::mouseUngrabEvent()

Dieser Ereignishandler kann in einer Unterklasse neu implementiert werden, um benachrichtigt zu werden, wenn für dieses Element ein „MouseUnGrab“-Ereignis aufgetreten ist.

[invokable] QQuickItem *QQuickItem::nextItemInFocusChain(bool forward = true)

Gibt das Element in der Fokus-Kette zurück, das sich direkt neben diesem Element befindet. Wenn forward der Wert „ true “ ist oder nicht angegeben wird, handelt es sich um das nächste Element in Vorwärtsrichtung. Wenn forward der Wert „ false “ ist, handelt es sich um das nächste Element in Rückwärtsrichtung.

Hinweis: Diese Funktion kann über das Metaobjektsystem und aus QML aufgerufen werden. Siehe Q_INVOKABLE.

void QQuickItem::polish()

Plant eine polnische Veranstaltung für dieses Element.

Wenn der Szenengraph die Anforderung verarbeitet, ruft er die Methode „ updatePolish()“ für dieses Element auf.

Siehe auch ` updatePolish()`, ` QQuickTest::qIsPolishScheduled()` und ` ensurePolished()`.

[virtual protected] void QQuickItem::releaseResources()

Diese Funktion wird aufgerufen, wenn ein Element Grafikressourcen freigeben soll, die noch nicht von den Knoten verwaltet werden, die von ` QQuickItem::updatePaintNode()` zurückgegeben wurden.

Dies geschieht, wenn das Element kurz davor steht, aus dem Fenster entfernt zu werden, in dem es zuvor gerendert wurde. Es ist gewährleistet, dass das Element zum Zeitpunkt des Aufrufs dieser Funktion über ein ` window ` verfügt.

Die Funktion wird im GUI-Thread aufgerufen, und der Status des Rendering-Threads ist, sofern dieser verwendet wird, unbekannt. Objekte sollten nicht direkt gelöscht, sondern stattdessen mithilfe von ` QQuickWindow::scheduleRenderJob()` zur Bereinigung eingeplant werden.

Siehe auch ` Graphics Resource Handling`.

QQuickItem *QQuickItem::scopedFocusItem() const

Wenn es sich bei diesem Element um ein Fokus-Scope handelt, gibt diese Funktion das Element in seiner Fokus-Kette zurück, das derzeit den Fokus hat.

Gibt „ nullptr “ zurück, wenn dieses Element kein Fokusbereich ist.

void QQuickItem::setAcceptHoverEvents(bool enabled)

Wenn „ enabled “ auf „true“ gesetzt ist, wird das Element so konfiguriert, dass es Hover-Ereignisse akzeptiert; andernfalls werden Hover-Ereignisse von diesem Element nicht akzeptiert.

Siehe auch ` acceptHoverEvents()`.

void QQuickItem::setAcceptTouchEvents(bool enabled)

Wenn „ enabled “ wahr ist, wird das Element so eingestellt, dass es Berührungsereignisse akzeptiert; andernfalls werden Berührungsereignisse von diesem Element nicht akzeptiert.

Siehe auch ` acceptTouchEvents()`.

void QQuickItem::setAcceptedMouseButtons(Qt::MouseButtons buttons)

Legt die von diesem Element akzeptierten Maustasten auf „ buttons “ fest.

Hinweis: In Qt 5 führte der Aufruf von `setAcceptedMouseButtons()` implizit dazu, dass ein Element sowohl Touch-Ereignisse als auch Mausereignisse empfing; es wurde jedoch empfohlen, ` setAcceptTouchEvents()` aufzurufen, um diese Ereignisse zu abonnieren. In Qt 6 ist es erforderlich, ` setAcceptTouchEvents()` aufzurufen, um diese Ereignisse weiterhin zu empfangen.

Siehe auch ` acceptedMouseButtons()`.

void QQuickItem::setCursor(const QCursor &cursor)

Legt die Form „ cursor “ für dieses Element fest.

Siehe auch „ cursor()“ und „ unsetCursor()“.

void QQuickItem::setFiltersChildMouseEvents(bool filter)

Legt fest, ob Zeigerereignisse, die für die untergeordneten Elemente dieses Elements bestimmt sind, über dieses Element gefiltert werden sollen.

Ist „ filter “ auf „true“ gesetzt, wird „ childMouseEventFilter()“ aufgerufen, sobald ein Zeigerereignis für ein untergeordnetes Element ausgelöst wird.

Siehe auch „ filtersChildMouseEvents()“.

void QQuickItem::setFlag(QQuickItem::Flag flag, bool enabled = true)

Aktiviert das angegebene „ flag “ für dieses Element, wenn „ enabled “ auf „true“ gesetzt ist; ist „ enabled “ auf „false“ gesetzt, ist das Flag deaktiviert.

Diese bieten verschiedene Hinweise für das Element; beispielsweise gibt das Flag „ ItemClipsChildrenToShape “ an, dass alle untergeordneten Elemente dieses Elements so beschnitten werden sollen, dass sie in den Bereich des Elements passen.

void QQuickItem::setFlags(QQuickItem::Flags flags)

Aktiviert die angegebene „ flags “ für dieses Element.

Siehe auch „ flags()“ und „ setFlag()“.

void QQuickItem::setFocusPolicy(Qt::FocusPolicy policy)

Legt die Fokusrichtlinie für dieses Element auf „ policy “ fest.

Hinweis: Setter -Funktion für die Eigenschaft „ focusPolicy “.

Siehe auch „ focusPolicy()“.

void QQuickItem::setKeepMouseGrab(bool keep)

Legt fest, ob die Mauseingabe ausschließlich bei diesem Element verbleiben soll.

Dies ist nützlich für Elemente, die nach einer vordefinierten Geste die Mausinteraktion übernehmen und beibehalten möchten. Beispielsweise kann ein Element, das an horizontalen Mausbewegungen interessiert ist, „ keepMouseGrab “ auf „true“ setzen, sobald ein Schwellenwert überschritten wurde. Sobald „ keepMouseGrab “ auf „true“ gesetzt wurde, reagieren filternde Elemente nicht mehr auf Mausereignisse.

Ist „ keep “ auf „false“ gesetzt, kann ein Filterelement die Mauskontrolle übernehmen. Beispielsweise kann „ Flickable “ versuchen, die Mauskontrolle zu übernehmen, wenn es erkennt, dass der Benutzer begonnen hat, den Ansichtsbereich zu verschieben.

Siehe auch „ keepMouseGrab()“.

void QQuickItem::setKeepTouchGrab(bool keep)

Legt fest, ob die von diesem Element erfassten Berührungspunkte ausschließlich diesem Element zugeordnet bleiben sollen.

Dies ist nützlich für Elemente, die bestimmte Berührungspunkte nach einer vordefinierten Geste erfassen und behalten möchten. Beispielsweise kann ein Element, das an horizontalen Berührungspunktbewegungen interessiert ist, `setKeepTouchGrab` auf `true` setzen, sobald ein Schwellenwert überschritten wurde. Sobald `setKeepTouchGrab` auf `true` gesetzt wurde, reagieren filternde Elemente nicht mehr auf die betreffenden Berührungspunkte.

Ist „ keep “ auf „false“ gesetzt, kann ein Filterelement die Erfassung übernehmen. Beispielsweise könnte „ Flickable “ versuchen, die Erfassung eines Berührungspunkts zu übernehmen, wenn es feststellt, dass der Benutzer begonnen hat, den Ansichtsbereich zu verschieben.

Siehe auch „ keepTouchGrab()“ und „ setKeepMouseGrab()“.

void QQuickItem::setSize(const QSizeF &size)

Legt die Größe des Elements auf size fest. Diese Methode behält alle bestehenden Bindungen für Breite und Höhe bei; daher überschreiben alle Änderungen, die eine erneute Ausführung der Bindung auslösen, die festgelegten Werte.

Siehe auch size, setWidth und setHeight.

QSizeF QQuickItem::size() const

Gibt die Größe des Elements zurück.

Siehe auch „ setSize “, „ width “ und „ height “.

void QQuickItem::stackAfter(const QQuickItem *sibling)

Verschiebt dieses Element in der Liste der untergeordneten Elemente an die Stelle nach dem angegebenen gleichrangigen Element. Die Reihenfolge der untergeordneten Elemente wirkt sich sowohl auf die visuelle Stapelreihenfolge als auch auf die Navigationsreihenfolge beim Tabulatortasten-Fokus aus.

Unter der Annahme, dass die z-Werte beider Elemente identisch sind, führt dies dazu, dass „ sibling “ unterhalb dieses Elements dargestellt wird.

Wenn bei beiden Elementen „ activeFocusOnTab “ auf „ true “ gesetzt ist, ändert sich dadurch auch die Tabulator-Fokusreihenfolge, sodass „ sibling “ vor diesem Element den Fokus erhält.

Das angegebene „ sibling “ muss ein Geschwisterelement dieses Elements sein; das heißt, beide müssen denselben unmittelbaren „ parent “ haben.

Siehe auch „Konzepte – Visuelles übergeordnetes Element“ unter Qt Quick.

void QQuickItem::stackBefore(const QQuickItem *sibling)

Verschiebt dieses Element in der Liste der untergeordneten Elemente an die Position vor dem angegebenen gleichrangigen Element. Die Reihenfolge der untergeordneten Elemente wirkt sich sowohl auf die visuelle Stapelreihenfolge als auch auf die Navigationsreihenfolge beim Tabulatortasten-Fokus aus.

Unter der Annahme, dass die z-Werte beider Elemente identisch sind, führt dies dazu, dass „ sibling “ über diesem Element dargestellt wird.

Wenn bei beiden Elementen „ activeFocusOnTab “ auf „ true “ gesetzt ist, ändert sich dadurch auch die Tabulator-Fokusreihenfolge, sodass „ sibling “ nach diesem Element den Fokus erhält.

Das angegebene „ sibling “ muss ein Geschwisterelement dieses Elements sein; das heißt, beide müssen denselben unmittelbaren „ parent “ haben.

Siehe auch „Konzepte – Visuelles übergeordnetes Element“ unter Qt Quick.

[virtual] QSGTextureProvider *QQuickItem::textureProvider() const

Gibt den Textur-Provider für ein Element zurück. Die Standardimplementierung gibt „ nullptr “ zurück.

Diese Funktion darf nur im Rendering-Thread aufgerufen werden.

[virtual protected] void QQuickItem::touchEvent(QTouchEvent *event)

Dieser Ereignis-Handler kann in einer Unterklasse neu implementiert werden, um Berührungsereignisse für ein Element zu empfangen. Die Ereignisinformationen werden über den Parameter „ event “ bereitgestellt.

Das Ereignis wird standardmäßig akzeptiert, daher ist es nicht erforderlich, das Ereignis explizit zu akzeptieren, wenn Sie diese Funktion neu implementieren. Wenn Sie das Ereignis nicht akzeptieren möchten, rufen Sie ` event->ignore()` auf.

[virtual protected] void QQuickItem::touchUngrabEvent()

Dieser Ereignis-Handler kann in einer Unterklasse neu implementiert werden, um benachrichtigt zu werden, wenn bei diesem Element ein „Touch-Ungrab“-Ereignis aufgetreten ist.

void QQuickItem::unsetCursor()

Löscht die Cursorform für dieses Element.

Siehe auch cursor() und setCursor().

[slot] void QQuickItem::update()

Plant einen Aufruf von ` updatePaintNode()` für dieses Element ein.

Der Aufruf von ` QQuickItem::updatePaintNode()` erfolgt immer, wenn das Element in einem ` QQuickWindow` angezeigt wird.

Nur Elemente, die ` QQuickItem::ItemHasContents ` angeben, dürfen `QQuickItem::update()` aufrufen.

[protected] void QQuickItem::updateInputMethod(Qt::InputMethodQueries queries = Qt::ImQueryInput)

Benachrichtigen Sie die Eingabemethode bei Bedarf über aktualisierte Abfragewerte. „ queries “ gibt die geänderten Attribute an.

[virtual protected] QSGNode *QQuickItem::updatePaintNode(QSGNode *oldNode, QQuickItem::UpdatePaintNodeData *updatePaintNodeData)

Wird im Render-Thread aufgerufen, wenn der Status des Elements mit dem Szenengraphen synchronisiert werden muss.

Die Funktion wird als Ergebnis von ` QQuickItem::update()` aufgerufen, sofern der Benutzer das Flag „ QQuickItem::ItemHasContents “ für das Element gesetzt hat.

Die Funktion sollte die Wurzel des Szenenbaum-Unterbaums für dieses Element zurückgeben. Die meisten Implementierungen geben ein einzelnes ` QSGGeometryNode ` zurück, das die visuelle Darstellung dieses Elements enthält. ` oldNode ` ist der Knoten, der beim letzten Aufruf der Funktion zurückgegeben wurde. ` updatePaintNodeData ` liefert einen Zeiger auf den ` QSGTransformNode `, der diesem ` QQuickItem` zugeordnet ist.

QSGNode *MyItem::updatePaintNode(QSGNode *node, UpdatePaintNodeData *)
{
    QSGSimpleRectNode *n = static_cast<QSGSimpleRectNode *>(node);
    if (!n) {
        n = new QSGSimpleRectNode();
        n->setColor(Qt::red);
    }
    n->setRect(boundingRect());
    return n;
}

Der Hauptthread wird während der Ausführung dieser Funktion gesperrt, sodass es sicher ist, Werte aus der Instanz „ QQuickItem “ und anderen Objekten im Hauptthread auszulesen.

Wenn kein Aufruf von `QQuickItem::updatePaintNode()` zu tatsächlichen Änderungen am Szenengraphen führt, wie z. B. ` QSGNode::markDirty()` oder das Hinzufügen und Entfernen von Knoten, kann die zugrunde liegende Implementierung entscheiden, die Szene nicht erneut zu rendern, da das visuelle Ergebnis identisch ist.

Warnung: Es ist entscheidend, dass Grafikoperationen und die Interaktion mit dem Szenengraphen ausschließlich im Render-Thread erfolgen, vor allem während des Aufrufs von `QQuickItem::updatePaintNode()`. Als Faustregel gilt, innerhalb der Funktion `QQuickItem::updatePaintNode()` nur Klassen mit dem Präfix „QSG“ zu verwenden.

Warnung: Diese Funktion wird im Render-Thread aufgerufen. Das bedeutet, dass alle erstellten QObjects oder Thread-lokalen Speicherbereiche eine Affinität zum Render-Thread aufweisen. Seien Sie daher vorsichtig, wenn Sie in dieser Funktion andere Aufgaben als das Rendern ausführen. Gleiches gilt für Signale: Diese werden im Render-Thread ausgesendet und daher häufig über Queued-Connections übermittelt.

Hinweis: Alle Klassen mit dem Präfix „QSG“ sollten ausschließlich im Render-Thread des Szenengraphen verwendet werden. Weitere Informationen findest du unter „Szenengraph und Rendering “.

Siehe auch „ QSGMaterial“ , „ QSGGeometryNode “, „ QSGGeometry “, „ QSGFlatColorMaterial “, „ QSGTextureMaterial “, „ QSGNode::markDirty()“ und „ Graphics Resource Handling “.

[virtual protected] void QQuickItem::updatePolish()

Diese Funktion sollte das für dieses Element erforderliche Layout ausführen.

Wenn „ polish()“ aufgerufen wird, plant der Szenengraph ein „polish“-Ereignis für dieses Element ein. Sobald der Szenengraph bereit ist, dieses Element zu rendern, ruft er „updatePolish()“ auf, um das erforderliche Layout des Elements durchzuführen, bevor er den nächsten Frame rendert.

Siehe auch ` ensurePolished()`.

QQuickItem *QQuickItem::viewportItem() const

Wenn das Flag „ ItemObservesViewport “ gesetzt ist, gibt die Methode das nächstgelegene übergeordnete Element mit dem Flag „ ItemIsViewport “ zurück. Ist das Flag nicht gesetzt oder wird kein anderes Viewport-Element gefunden, gibt die Methode das „contentItem“ des Fensters zurück.

Gibt „ nullptr “ nur zurück, wenn kein Viewport-Element vorhanden ist und dieses Element nicht in einem Fenster angezeigt wird.

Siehe auch „ clipRect()“.

[virtual protected] void QQuickItem::wheelEvent(QWheelEvent *event)

Dieser Ereignis-Handler kann in einer Unterklasse neu implementiert werden, um Räder-Ereignisse für ein Element zu empfangen. Die Ereignisinformationen werden über den Parameter „ event “ bereitgestellt.

Das Ereignis wird standardmäßig akzeptiert, sodass es nicht erforderlich ist, das Ereignis explizit zu akzeptieren, wenn Sie diese Funktion neu implementieren. Wenn Sie das Ereignis nicht akzeptieren möchten, rufen Sie „ event->ignore() “ auf.

[protected] bool QQuickItem::widthValid() const

Gibt zurück, ob die Eigenschaft „width“ explizit festgelegt wurde.

QQuickWindow *QQuickItem::window() const

Gibt das Fenster zurück, in dem dieses Element dargestellt wird.

Das Element verfügt erst dann über ein Fenster, wenn es einer Szene zugewiesen wurde. Das Signal „ windowChanged()“ löst sowohl dann eine Benachrichtigung aus, wenn das Element in eine Szene eingefügt wird, als auch dann, wenn es aus einer Szene entfernt wird.

[signal] void QQuickItem::windowChanged(QQuickWindow *window)

Dieses Signal wird ausgelöst, wenn sich die „ window “ des Elements ändert.

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.