4.1 Un petit point sur l'encodage du texte

Vous le savez sûrement, tout les fichiers textes ne sont pas encodés de la même façon, certain sont encodés en utf-8 comme sous Linux (en fait la plupart des système UNIX c'est à dire pratiquement tout les OS qui existent), et certain, comme celui-qui-ne-marche-pas, ont le mauvais goût d'être en iso-*** (je met des '*' car il en existe une flopée).

Bien entendu ce qui est rigolo, c'est que par défaut Qt n'est pas en utf-8, et si vous avez fait des essais en changeant les chaînes de caractères dans le bouton ou la QAction des exemples précédents, vous avez du avoir un problème d'affichage pour les caractères accentués, le 'ç' et quelques autres caractères.

Pour éviter ce petit désagrément il faut demander gentiment à Qt de bien vouloir passer en utf-8 (j’insiste sur le gentiment).

Pour cela il faut inclure le fichier sur l'encodage des caractères :

1
#include <QtCore/QTextCodec>

Et ajouter ces deux ligne au début de votre fonction d'initilaisation :

1
2
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));
        QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8"));

Et voilà, maintenant vous pouvez écrire tout ce que vous voulez dans les menus, boutons et autres champs, l'affichage sera bon.

C'est pas le tout, mais il faudrait commencer la classe.