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.
| Konstante | Wert | Beschreibung |
|---|---|---|
QQuickItem::ItemClipsChildrenToShape | 0x01 | Gibt an, dass dieses Element seine untergeordneten Elemente visuell beschneiden soll, sodass sie nur innerhalb der Grenzen dieses Elements dargestellt werden. |
QQuickItem::ItemAcceptsInputMethod | 0x02 | Gibt an, dass das Element Texteingabemethoden unterstützt. |
QQuickItem::ItemIsFocusScope | 0x04 | Gibt an, dass das Element ein Fokusbereich ist. Weitere Informationen finden Sie unter „Tastaturfokus“ in „ Qt Quick “. |
QQuickItem::ItemHasContents | 0x08 | Gibt an, dass das Element visuellen Inhalt enthält und vom Szenengraphen gerendert werden soll. |
QQuickItem::ItemAcceptsDrops | 0x10 | Gibt an, dass das Element Drag-and-Drop-Ereignisse akzeptiert. |
QQuickItem::ItemIsViewport | 0x20 | Gibt an, dass das Element einen Viewport für seine untergeordneten Elemente definiert. |
QQuickItem::ItemObservesViewport | 0x40 | Gibt 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.
| Konstante | Wert | Beschreibung |
|---|---|---|
QQuickItem::ItemChildAddedChange | 0 | Ein untergeordnetes Element wurde hinzugefügt. ` ItemChangeData::item ` enthält das hinzugefügte untergeordnete Element. |
QQuickItem::ItemChildRemovedChange | 1 | Ein untergeordnetes Element wurde entfernt. ` ItemChangeData::item ` enthält das entfernte untergeordnete Element. |
QQuickItem::ItemSceneChange | 2 | Das 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::ItemVisibleHasChanged | 3 | Die Sichtbarkeit des Elements hat sich geändert. ` ItemChangeData::boolValue ` enthält die neue Sichtbarkeit. |
QQuickItem::ItemParentHasChanged | 4 | Das übergeordnete Element des Elements hat sich geändert. „ ItemChangeData::item “ enthält das neue übergeordnete Element. |
QQuickItem::ItemOpacityHasChanged | 5 | Die Deckkraft des Elements hat sich geändert. ` ItemChangeData::realValue ` enthält die neue Deckkraft. |
QQuickItem::ItemActiveFocusHasChanged | 6 | Der Fokus des Elements hat sich geändert. „ ItemChangeData::boolValue “ gibt an, ob das Element den Fokus hat oder nicht. |
QQuickItem::ItemRotationHasChanged | 7 | Die Drehung des Elements hat sich geändert. „ ItemChangeData::realValue “ enthält die neue Drehung. |
QQuickItem::ItemDevicePixelRatioHasChanged | 9 | Das 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::ItemAntialiasingHasChanged | 8 | Das Antialiasing hat sich geändert. Der aktuelle (boolesche) Wert ist in ` QQuickItem::antialiasing` zu finden. |
QQuickItem::ItemEnabledHasChanged | 10 | Der Aktivierungsstatus des Elements hat sich geändert. „ ItemChangeData::boolValue “ enthält den neuen Aktivierungsstatus. (seit Qt 5.10) |
QQuickItem::ItemScaleHasChanged | 11 | Der Skalierungsfaktor des Elements hat sich geändert. „ ItemChangeData::realValue “ enthält den Skalierungsfaktor. (seit Qt 6.9) |
QQuickItem::ItemTransformHasChanged | 12 | Die 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.
| Konstante | Wert | Beschreibung |
|---|---|---|
QQuickItem::AutoMutabilityGroup | 0x0 | Die Standardgruppe für die Mutabilität. |
QQuickItem::StaticMutabilityGroup | 0x1 | Gibt an, dass das Element selten oder nie aktualisiert wird. |
QQuickItem::ModerateMutabilityGroup | 0x8 | Gibt an, dass das Element mäßig oft aktualisiert wird. |
QQuickItem::DynamicMutabilityGroup | 0xf | Gibt 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.
| Konstante | Wert | Beschreibung |
|---|---|---|
QQuickItem::TopLeft | 0 | Die obere linke Ecke des Elements. |
QQuickItem::Top | 1 | Der Mittelpunkt der Oberkante des Elements. |
QQuickItem::TopRight | 2 | Die obere rechte Ecke des Elements. |
QQuickItem::Left | 3 | Der Punkt ganz links in der vertikalen Mitte. |
QQuickItem::Center | 4 | Die Mitte des Elements. |
QQuickItem::Right | 5 | Der Punkt ganz rechts in der vertikalen Mitte. |
QQuickItem::BottomLeft | 6 | Die linke untere Ecke des Elements. |
QQuickItem::Bottom | 7 | Der Mittelpunkt des unteren Randes des Elements. |
QQuickItem::BottomRight | 8 | Die 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.
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() |
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.
| |
|
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).
|
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.
|
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 “.

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.
| Gleiche „ z “ – spätere untergeordnete Elemente über früheren untergeordneten Elementen:
|
| Höhere „ z “ oben:
|
| Gleiche „ z “ – Kinder über Eltern:
|
| Niedrigeres „ z “ unten:
|
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.







