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 :

[g_signal_emit_by_name] Emettre un signal "expose-event"


Sujet :

GTK+ avec C & C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Gamall
    Profil pro
    Étudiant ENSEA
    Inscrit en
    Août 2009
    Messages
    252
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant ENSEA

    Informations forums :
    Inscription : Août 2009
    Messages : 252
    Par défaut [g_signal_emit_by_name] Emettre un signal "expose-event"
    Bonjour,

    J'aimerais emettre un signal "expose-event", par exemple, lors de l'appui sur un bouton, modification d'une valeur dans un GtkSpinButton, etc..., afin de redesinner une GtkDrawingArea.

    J'ai trouvé cette methode g_signal_emit_by_name, seulemment, je n'arrive pas à l'utiliser correctemment

    Voici le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    G_MODULE_EXPORT void
    OnActivateEvent (GtkWidget * widget, gpointer data)
    {
        MainWindow * fenetre = NULL;
     
        /* Recuperation de data */
        fenetre = (MainWindow*) data;
     
        g_signal_emit_by_name (fenetre->pDraw, "expose-event");
    }
    Seulemment, j'ai un warning de Glib:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    (prog:4002): GLib-GObject-WARNING **: invalid (NULL) pointer instance
     
    (prog:4002): GLib-GObject-CRITICAL **: g_signal_emit_by_name: assertion `G_TYPE_CHECK_INSTANCE (instance)' failed
    Alors ben si quelqu'un peut m'aider à utiliser cette fonction correctemment, je suis preneur
    Merci

    PS. Désolé pour les eventuelles fautes d'orthographe, mon firefox est en anglais

  2. #2
    Membre confirmé Avatar de Gamall
    Profil pro
    Étudiant ENSEA
    Inscrit en
    Août 2009
    Messages
    252
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant ENSEA

    Informations forums :
    Inscription : Août 2009
    Messages : 252
    Par défaut
    Bon, c'est bon, en fait, j'avais oublié de recuperer la DrawingArea dans fenetre->pDraw

    D'ailleurs, finalement, j'utilise
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    gtk_widget_queue_draw (fenetre->pDraw);

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

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