Qt 5.4/Qml: Verhindern, dass bindende Schleife

Ich habe eine Globale singleton - "Einstellungen" hält, die Anwendung Einstellungen. Wenn ich versuche, führen Sie den folgenden code bekomme ich einen QML CheckBox: Binding loop detected for property "checked":

CheckBox {
    checked: Settings.someSetting                         
    onCheckedChanged: {
        Settings.someSetting = checked;
    }
}

Es ist offensichtlich, warum dieser Fehler Auftritt, aber wie kann ich korrekt implementieren Sie diese Funktion ohne bindende Schleife? E. g. Ich möchte zum speichern des aktuellen Aktivierungszustand des Kontrollkästchens in den Einstellungen singleton.

Ich bin mit Qt 5.4 und Qml Schnell 2.

Grüße,

  • Wenn Sie nicht wollen, zu machen, eine Schleife binden - nicht verbindlich. Verwenden Sie einen proxy-variable, zum Beispiel.
  • Meinst du eine Eigenschaft, die außerhalb der checkbox, die hält den Wert?
  • Ja, ich meinte, dass.
InformationsquelleAutor Hyndrix | 2015-01-31
Schreibe einen Kommentar