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 :

touche "entrée" dans une "boite de saisie"


Sujet :

GTK+ avec C & C++

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2006
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 32
    Points : 16
    Points
    16
    Par défaut touche "entrée" dans une "boite de saisie"
    Bonjour,

    j'ai crée une boite de saisie, dans laquelle j'ai un label et un GtkEntry,
    je voudrais "récupérer" le signal emis lorsqu'on appuie sur la touche "entrée".

    c'est à dire l'insérer dans mon "switch" tout comme l'appui sur le bouton "OK".

    voici ma boite :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    gtk_dialog_new_with_buttons("titre",
    NULL,
    GTK_DIALOG_MODAL,
    GTK_STOCK_OK, GTK_RESPONSE_OK,
    GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
    NULL)
    Je sais que c'est une question de débutant mais malgré mes recherches , je n'ai rien trouvé et je suis sur que cela pourra servir a quelqu'un d'autre


    merci

  2. #2
    Rédacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2004
    Messages
    5 840
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840
    Points : 11 625
    Points
    11 625
    Par défaut
    Bonjour,

    Lorsque l'utilisateur appuie sur la touche entrée dans un GtkEntry, le signal activate est émis. Il te suffit ensuite d'envoyer une réponse à l'aide de gtk_dialog_response

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2006
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 32
    Points : 16
    Points
    16
    Par défaut
    oui, mais concretement comment faire ?

    je n'ai pas une grande expérience de Gtk.

    dans ma création de boite de saisie doij-je insérer quelque chose avant après.

    je ne peux utiliser de callback car je dois utiliser un "switch".

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2006
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 32
    Points : 16
    Points
    16
    Par défaut
    une âme charritable pourrait peut-être me donner un exemple....

    encore un grand merci,
    et puis je suis sur que cela pourra aussi aider d'autres débutants

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    172
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 172
    Points : 117
    Points
    117
    Par défaut
    Après avoir fait ta boîte de dialogue pDialog (on va dire que t'as 2 boutons, "OK" et "Annuler", respectivement associés aux réponses GTK_RESPONSE_ACCEPT et GTK_RESPONSE_REJECT.) avec ton entrée de saisie qui se trouve dans le pointeur pEntry, tu fais ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    g_signal_connect(G_OBJET(pEntry), "activate", G_CALLBACK(reponse), (gpointer)pDialog);
     
    switch(gtk_dialog_run(GTK_DIALOG(pDialog)))
    {
        case GTK_RESPONSE_ACCEPT:
            printf("Bouton OK Cliqué\n");
            break;
        case GTK_RESPONSE_REJECT:
            printf("Bouton Annuler Cliqué\n");
            break;
        case GTK_RESPONSE_OK:
            printf("Touche Entrée appuyée\n");
            break;
        default:
            break;
    }
    Et ça, c'est ta callback reponse()

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    void reponse(GtkWidget* pWidget, gpointer data)
    {
        GtkWidget* dialog = data;
        gtk_dialog_response(GTK_DIALOG(dialog), GTK_RESPONSE_OK);
    }

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2006
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 32
    Points : 16
    Points
    16
    Par défaut
    merci, c'est exactement ce dont j'avais besoin..

    Une fois qu'on sait, ca peut paraitre simplissime,

    mais on peut buter longtemps sur ce genre de problème


    encore un grand merci pour votre aide précieuse ce forum est une vrai mine d'or.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [PowerShell] double quotes et variables dans une ligne de script Powershell
    Par Aenean dans le forum Scripts/Batch
    Réponses: 1
    Dernier message: 08/12/2014, 17h55
  2. Réponses: 7
    Dernier message: 19/04/2007, 13h33
  3. [vbnet 1.1]Inserer deux simple quote sans texte dans une db
    Par ChristopheOce dans le forum Windows Forms
    Réponses: 8
    Dernier message: 15/03/2007, 08h51
  4. comment compter les entrées identiques dans une requete?
    Par Chico_Latino dans le forum Access
    Réponses: 2
    Dernier message: 11/04/2006, 18h16
  5. Réponses: 2
    Dernier message: 08/04/2005, 14h23

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