Je ne vais pas te donner la réponse directe, mais te donner un petit cas afin que tu puisses chercher à comprendre.
* L'utilisateur veut entrer le mot "Alpha"
* La machine va faire apparaître "Gamma"
* On sauvegarde la saisie dans la variable QString userStr
1. Saisie de "A" (donc déclenchement du signal textEdited donc passage dans ton slot)
=> on voit que la longueur du texte est 1
=> On ajoute la dernière lettre (donc "A") à userStr
=> On prend la première lettre de "Gamma", et on l'affiche
=> Le texte affiché et donc "G"
=> userStr == "A"
2. Saisie de "l"
=> on voit que la longueur du texte est 2 (le texte est maintenant "Gl"
=> On ajoute la dernière lettre (donc "l") à userStr
=> On prend les 2 premières lettres de "Gamma", et on les affiche
=> Le texte affiché et donc "Ga"
=> userStr == "Al"
3. Saisie de "p"
=> on voit que la longueur du texte est 3 (le texte est maintenant "Gap"
=> On ajoute la dernière lettre (donc "p") à userStr
=> On prend les 3 premières lettres de "Gamma", et on les affiche
=> Le texte affiché et donc "Gam"
=> userStr == "Alp"
4. Saisie de "h"
=> on voit que la longueur du texte est 4 (le texte est maintenant "Gamh"
=> On ajoute la dernière lettre (donc "h") à userStr
=> On prend les 4 premières lettres de "Gamma", et on les affiche
=> Le texte affiché et donc "Gamm"
=> userStr == "Alph"
5. Saisie de "h"
=> on voit que la longueur du texte est 5 (le texte est maintenant "Gamma"
=> On ajoute la dernière lettre (donc "a") à userStr
=> On prend les 5 premières lettres de "Gamma", et on les affiche
=> Le texte affiché et donc "Gamma"
=> userStr == "Alpha"
Est-ce que tu vois mieux le pattern ainsi décrit ?
Partager