Connections QML Type

Beschreibt verallgemeinerte Verbindungen zu Signalen. Mehr...

Import Statement: import QtQml

Eigenschaften

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.