IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

GTK+ avec C & C++ Discussion :

Label, cacher lettres


Sujet :

GTK+ avec C & C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mars 2009
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 36
    Par défaut Label, cacher lettres
    Bonjour à tous,

    Je voudrais savoir si il est possible en GTK+ de cacher certaines lettres d'un label par un caractère comme "*".


    Merci

  2. #2
    Membre confirmé Avatar de skip78
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    247
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 247
    Par défaut
    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 *

  3. #3
    Membre averti
    Inscrit en
    Mars 2009
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 36
    Par défaut
    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 ?

  4. #4
    Membre confirmé Avatar de skip78
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    247
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 247
    Par défaut
    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);

  5. #5
    Membre averti
    Inscrit en
    Mars 2009
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 36
    Par défaut
    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 ?

  6. #6
    Membre confirmé Avatar de skip78
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    247
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 247
    Par défaut
    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 !

  7. #7
    Membre Expert
    Homme Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 259
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 259
    Par défaut
    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é.

Discussions similaires

  1. Lettre d'une partition à partir du Label ?
    Par Altess dans le forum C++
    Réponses: 3
    Dernier message: 08/07/2009, 10h10
  2. Cacher des labels avec boucle Next-For
    Par hotsauce91 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 07/05/2009, 11h01
  3. Label & supprime de lettre
    Par newin dans le forum C++Builder
    Réponses: 13
    Dernier message: 27/06/2008, 16h21
  4. Changer un Label et cacher un Button
    Par Xmemy dans le forum Tkinter
    Réponses: 2
    Dernier message: 07/12/2007, 16h09
  5. afficher/ cacher textbox/label
    Par t1marlartiste dans le forum ASP.NET
    Réponses: 5
    Dernier message: 29/05/2007, 14h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo