Connections QML Type
Beschreibt verallgemeinerte Verbindungen zu Signalen. Mehr...
Import Statement: | import QtQml |
Eigenschaften
- enabled : bool
- ignoreUnknownSignals : bool
- target : QtObject
Detaillierte Beschreibung
Ein Connections-Objekt stellt eine Verbindung zu einem QML-Signal her.
Wenn man sich mit Signalen in QML verbindet, ist der übliche Weg, einen "on<Signal>"-Handler zu erstellen, der reagiert, wenn ein Signal empfangen wird, so wie hier:
MouseArea { onClicked: (mouse)=> { foo(mouse) } }
In manchen Fällen ist es jedoch nicht möglich, sich auf diese Weise mit einem Signal zu verbinden, z. B. wenn:
- Mehrere Verbindungen zu demselben Signal erforderlich sind
- Verbindungen außerhalb der Reichweite des Signalgebers erstellt werden
- Verbindung zu Zielen, die nicht in QML definiert sind
In diesen Fällen kann stattdessen der Typ Connections verwendet werden.
Der obige Code kann zum Beispiel so geändert werden, dass ein Connections-Objekt verwendet wird, etwa so:
MouseArea { Connections { function onClicked(mouse) { foo(mouse) } } }
Allgemeiner ausgedrückt kann das Connections-Objekt ein untergeordnetes Objekt eines anderen Objekts als des Senders des Signals sein:
MouseArea { id: area } // ...
Connections { target: area function onClicked(mouse) { foo(mouse) } }
Hinweis: Aus Gründen der Abwärtskompatibilität können Sie die Signalhandler auch ohne function
angeben, so wie Sie sie direkt im Zielobjekt angeben würden. Dies wird nicht empfohlen. Wenn Sie einen Signal-Handler auf diese Weise angeben, werden alle Signal-Handler ignoriert, die als function
im selben Connections-Objekt angegeben sind.
Siehe auch Qt Qml.
Eigenschaft Dokumentation
enabled : bool |
Diese Eigenschaft gibt an, ob das Element Änderungsereignisse akzeptiert.
Standardmäßig ist diese Eigenschaft true
.
ignoreUnknownSignals : bool |
Normalerweise führt eine Verbindung zu einem nicht existierenden Signal zu Laufzeitfehlern.
Wenn diese Eigenschaft auf true
gesetzt ist, werden solche Fehler ignoriert. Dies ist nützlich, wenn Sie beabsichtigen, eine Verbindung zu verschiedenen Objekttypen herzustellen und für jedes Objekt einen anderen Satz von Signalen zu verarbeiten.
target : QtObject |
Diese Eigenschaft enthält das Objekt, das das Signal sendet.
Wenn diese Eigenschaft nicht gesetzt ist, wird die target
standardmäßig auf das übergeordnete Objekt der Verbindung gesetzt.
Ist sie auf null gesetzt, wird keine Verbindung hergestellt und alle Signalhandler werden ignoriert, bis das Ziel nicht null ist.
© 2025 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.