modifier dynamiquement le texte de l'étiquette QML
C'est la plus grosse bêtise que de le faire dans n'importe quelle langue, mais je suis coincé sur la façon de le faire en QML.
Comment faire pour modifier la valeur du texte d'une Étiquette en QML? Ce qui me manque..
Mon code est le suivant:
Container {
objectName: "formContainer"
id: formContainer
property alias text1: labelTest.text
onCreationCompleted: {
Qt.labelTest = labelTest;
Qt.text1 = formContainer.text1;
}
Label {
id: labelTest
text: "test"
}
TextField {
id: textFieldPass
onFocusedChanged: {
if (focused) {
Qt.myFunction();
}
}
}
function myFunction(){
//Enter successfuly to the function
console.log("Qt.labelTest.text:" + Qt.labelTest.text); //Output: undefined
Qt.labelTest.text = "Y U NO change!"; //Does nothing
Qt.text1 = "Y U NO change!"; //Does nothing
}
}
Je ne suis pas sûr pourquoi pas de travail. Même avec un alias de la propriété le texte refuse de changer.
Je vous en seront reconnaissants de l'aide.
Merci et salutations.
OriginalL'auteur mariomunera | 2012-10-19
Vous devez vous connecter pour publier un commentaire.
Vous avez besoin pour accéder à des alias à l'aide de l'id du contrôle.aliasname. & faire myFunction mondiale en la déclarant dans sa racine (c'est à dire la Page dans ce cas), si elle est utilisée dans de multiples machines à sous comme ceci:
ou si elle est utilisée uniquement pour les Champs de contrôle, vous pouvez le faire local, comme ceci:
Espère que cette aide.
OriginalL'auteur Nishant Shah
Vous n'avez pas à utiliser l'intervalle Qt.'quelque chose' pour modifier les propriétés de la QML objets. La façon de changer les propriétés de la est par "objectId" de. des "biens" = "valeur";. Donc, essayez ceci:
OriginalL'auteur JuliusG