Ich habe eine Qt-Anwendung, die qt_update_values()
an die Haupt-QML-Komponente aufruft. Ich möchte die neuen Werte an einen bestimmten Delegaten senden. Wie verbinde ich update_values()
von der Hauptkomponente, um von einer bestimmten untergeordneten Komponente empfangen zu werden, die in einem anderen qml definiert ist?QML verbinden Signal von der Hauptkomponente zu den untergeordneten Komponenten
Ich habe versucht, Verbindungen in das Kind zu definieren, aber ich bin nicht sicher, was ich Ziel definieren müssen ...
Im main.qml
Ich habe etwas Ähnliches wie folgt aus:
...
signal update_values(new_values)
function qt_update_values(newValues){
update_values(newValues);
}
Repeater {
id:idRepeater
model: 3
Rectangle {
id:example
Text{ text: "hello"}
...
AnotherComponent {name: "name", othervariables: "others"}
}
}
...
dann auf AnotherComponent.qml
ich habe:
...
signal update_values_child(new_values)
function onUpdate_values(newValues){
textid = newValues;
}
Text{ id:textid}
...
Danke dir @derM. Es tut mehr als nur aktualisieren ... Ich habe die erste Methode versucht, und ich bekomme keine Fehler, aber ich habe eine console.log auf dosomethingWith (new_values) in der Stellvertretung, und es zeigt überhaupt nichts. Es scheint, als ob die Funktion nicht aufgerufen wird ... – laurapons
Entschuldigung mein Fehler, ich habe vergessen, die Parameter am Ende hinzuzufügen. Es klappt! Vielen Dank!!! @derM – laurapons
eine letzte Frage, gibt es eine Möglichkeit, nur bestimmte Delegierte und nicht alle von ihnen zu verbinden (in meinem Beispiel werden Delegaten eine Reihe von Diagrammen sein, die dynamisch sein werden). Ich möchte jedes Diagramm mit einem anderen qt_update_value_chart1 oder qt_update_value_chart2 verbinden ... Ist das möglich? @derM – laurapons