Bonjour à tous,
Je voudrais savoir si il est possible en GTK+ de cacher certaines lettres d'un label par un caractère comme "*".
Merci
Bonjour à tous,
Je voudrais savoir si il est possible en GTK+ de cacher certaines lettres d'un label par un caractère comme "*".
Merci
Bah dans un label, il suffit d'utiliser gtk_set_label()
Tu gardes le mot de passe réel en mémoire, mais tu affiches que des *![]()
Merci de ta réponse, mais comment savoir le bon nombre de "*" à afficher, c'est à dire le nombre de lettres que contient le mot que je veux cacher ?![]()
Tu récupères le contenu du label dans un string, et tu utilises strlen
=>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 int length, i; char* text; text = gtk_label_get_text(label); length= strlen(text); for(i=0 ; i<length; i++)text[i]='*'; gtk_label_set_text(label, text);
Merci bien, je ne connaissais pas la fonction pour récupérer le texte du label. Peux tu me dire où tu l'as trouvé, sur la doc (pas trouvé) ou ailleurs ?
Serais tu aussi par hazard, comment faire apparaitre une boite de dialogue durant quelques secondes, puis la fermer automatiquement ?
Pas dans la doc ?
Tu rigoles ? ^^
http://man.chinaunix.net/develop/GTK.../GtkLabel.html
Et puis de toute facon le gros avantage de GTK, à mon gout, c'est que les fonctions sont tout de même super intuitive.
Tu veux récupérer du texte dans un label, bah tu fait gtk_label pour acceder aux fonctions du label, puis get_text pour le prendre, et set_text pour le changer.
Pas bien compliqué tout de même
Pour la pop up, je te conseille de passer par les tutos GTK disponibles ici même, qui sont trés largement suffisant pour maitriser les bases.
Afficher une pop up ne devrait pas te poser trop de probleme, aprés pour la fermer aprés un certain temps, bah tu utilises un sleep, ca se trouve également super facilement sur la toile !
Essayes de trouver tout de même avant de demander, y'a quand même vachement de solutions proposées sur le net
Enfin, si tu es vraiment en galère, je me ferais un plaisir de t'aider
Ciao !
Non, strlen ne marchera pas si ton label contient des lettres accentuées (entre autres). Utilise g_utf8_strlen qui te renverra le nombre de caractères dans ta chaîne de caractères. Si tu manipules un GtkEntry, il y a une fonction gtk_entry_set_visibility qui te permet d'avoir un mode "saisie de mot de passe". Enfin, pour faire disparaître ta fenêtre au bout de qques secondes, utilise g_timeout_add et appelle gtk_widget_destroy dans le callback qui est appelé lors le timeout s'est écoulé.
Partager