ApplicationWindow {
// …
Label {
id: text
color: "black" // Pas de lien créé !
text: textField.text
// …
}
Button {
// …
text: qsTr("Enable colour tweaking")
// Le lien entre la couleur du texte et le champ
correspondant
// est créé avec ce code.
onClicked: text.color = Qt.binding(function() {
return colourField.text;
})
}
}
Au contraire, si on avait simplement écrit la liaison de propriétés comme si elle
était effectuée au niveau du composant Label, le code correspondant ne serait
appelé que lors de chaque appui sur le bouton : la liaison entre propriétés ne serait
pas créée.
ApplicationWindow {
// …
Label {
id: text
color: "black"
// …
}
Button {
// …
// Le gestionnaire de signal n'est appelé que lors d'un
clic
// sur le bouton : la couleur n'est mise à jour qu'à ce
moment,
// pas en continu comme avec une liaison de propriétés.
onClicked: text.color = colourField.text
}
}
296
// …
Label {
id: text
color: "black" // Pas de lien créé !
text: textField.text
// …
}
Button {
// …
text: qsTr("Enable colour tweaking")
// Le lien entre la couleur du texte et le champ
correspondant
// est créé avec ce code.
onClicked: text.color = Qt.binding(function() {
return colourField.text;
})
}
}
Au contraire, si on avait simplement écrit la liaison de propriétés comme si elle
était effectuée au niveau du composant Label, le code correspondant ne serait
appelé que lors de chaque appui sur le bouton : la liaison entre propriétés ne serait
pas créée.
ApplicationWindow {
// …
Label {
id: text
color: "black"
// …
}
Button {
// …
// Le gestionnaire de signal n'est appelé que lors d'un
clic
// sur le bouton : la couleur n'est mise à jour qu'à ce
moment,
// pas en continu comme avec une liaison de propriétés.
onClicked: text.color = colourField.text
}
}
296
