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 :

Plusieurs questions et affichage d'un pop up


Sujet :

GTK+ avec C & C++

  1. #1
    Membre à l'essai
    Inscrit en
    Mars 2009
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 36
    Points : 12
    Points
    12
    Par défaut Plusieurs questions et affichage d'un pop up
    Bonjour à tous,

    J'essaye désespérément depuis un petit moment d'afficher une boite de dialogue qui ne nécessiterait pas de validation de la part de l'utilisateur, mais qui serait détruite quelques secondes plus tard.
    J'ai crée une boite de dialogue avec "GTK_DIALOG_MODAL,GTK_MESSAGE_ERROR, 0" comme paramètres.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    gint result =gtk_dialog_run (GTK_DIALOG (dialog));
     
            switch (result)
            {
            case GTK_RESPONSE_:
                g_timeout_add(1000, (GSourceFunc)gtk_widget_destroy, dialog);
                break;
            default:
                gtk_widget_destroy (dialog);
                break;
            }
    Ce code ne fonctionne pas, j'ai beau attendre je suis obligé de cliquer sur la croix en haut à droite .


    Une fonction callback doit elle être obligatoirement de la forme :
    void nom_de_la_fonction(GtkWidget *widget, gpointer data) ?
    Peut elle être de cette forme :
    void nom_de_la_fonction(void) ?
    ou void nom_de_la_fonction(GtkWidget *widget, gpointer data, int jesaispas) ?

    Pour quitter mon application puis je utiliser la fonction gtk_main_quit() ? Est ce une fonction callback ? Ou bien faut il coder une fonction sois même ?

    Merci de me répondre.

  2. #2
    Membre expérimenté
    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
    Points : 1 633
    Points
    1 633
    Par défaut
    Je mettrais le g_timeout_add avant le gtk_dialog_run.
    Cf http://gtk.developpez.com/faq/?page=...AUX_parametres pour une de tes autres questions.

  3. #3
    Membre à l'essai
    Inscrit en
    Mars 2009
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 36
    Points : 12
    Points
    12
    Par défaut
    Merci mais ça ne fonctionne pas. Gtk m'indique que la fonction gtk_destroy_widget a echoué.

    As tu une solution ?

  4. #4
    Membre expérimenté
    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
    Points : 1 633
    Points
    1 633
    Par défaut
    En fait si c'est juste une fenêtre que t'affiche et que tu fais disparaître, j'utiliserais pas un gtkdialog, en tout cas j'utiliserais pas gtk_dialog_run

  5. #5
    Modérateur

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2009
    Messages
    1 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 395
    Points : 2 002
    Points
    2 002
    Par défaut Utiliser un tournevis pour enfoncer un clou...
    Une boite de dialogue est faite par design pour demander une intervention de l'utilisateur. Un message sans intervention, c'est une notification, et ce n'est pas une boite de dialogue. Sous Linux, tu devras utiliser libnotify pour cela, qui te donne des choses de ce genre là:



    Et ton exemple ne fonctionne pas parce que gtk_dialog_run est volontairement bloquant, tu n'en sors que si l'utilisateur a cliqué sur un bouton. Et quand tu veux un timeout en secondes, utilise g_timeout_add_seconds, ça évite de réveiller le processeur pour rien...

Discussions similaires

  1. Problème d'affichage de la pop up lorsque plusieurs GPX sont chargés
    Par youri89 dans le forum IGN API Géoportail
    Réponses: 8
    Dernier message: 04/09/2013, 10h12
  2. Plusieurs questions sur Samba sous Ubuntu
    Par Niktou dans le forum Réseau
    Réponses: 12
    Dernier message: 12/02/2006, 15h45
  3. [Py2exe] Plusieurs questions...
    Par Arthur17 dans le forum Py2exe
    Réponses: 4
    Dernier message: 17/11/2005, 22h41
  4. J'ai plusieur question pr windows 2000
    Par Guixx dans le forum Windows Serveur
    Réponses: 1
    Dernier message: 10/09/2005, 18h23
  5. Réponses: 4
    Dernier message: 11/09/2004, 16h38

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