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+ Discussion :

Gtk envoi signal


Sujet :

GTK+

  1. #1
    Membre averti
    Inscrit en
    Mai 2006
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 13
    Par défaut Gtk envoi signal
    Bonjour,
    voici ce code :
    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
     
    #include <stdlib.h>
    #include <stdio.h>
    #include <gtk/gtk.h>
    #include <pthread.h>
     
    GtkWidget* window;
    GtkWidget* dialog;
     
    void* getsignal(void* inutile)
    {
    	sleep(3);
    	g_signal_emit_by_name(G_OBJECT(window),"destroy");
    }
     
    int main ( int argc , char** argv )
    {
    	pthread_t thread;
     
    	gtk_init(&argc,&argv);
     
    	window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
    	g_signal_connect(G_OBJECT(window),"destroy",G_CALLBACK(gtk_main_quit),NULL);
    	pthread_create (&thread, NULL, getsignal, NULL);
    	gtk_widget_show(window);
    	gtk_main();
     
    	return EXIT_SUCCESS;
    }
    Qui crée une fenêtre qui doit être détruite 3 seconde après avec l'envoi d'un signal avec g_signal_emit_by_name(G_OBJECT(window),"destroy"); , seulement cette fonction revois cette erreur lors de l'execution: "(main:14254): Gtk-CRITICAL **: gtk_style_detach: assertion `style->attach_count > 0' failed" et la fenêtre se détruit et le programme se termine que si la souris rentre ou quitte la fenêtre apres ces 3 secondes.

    Comment faire pour que dès que les 3 secondes se sont écoulés, la fenêtre sa ferme sans intervantion extérieur et pour enlever ce message d'erreur?

    Merci pour votre aide

  2. #2
    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
    g_timeout_add et gtk_widget_destroy devraient te permettre de faire ce que tu veux...

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

Discussions similaires

  1. [WD15] Thread Envoie Signal
    Par Nathalie35000 dans le forum WinDev
    Réponses: 0
    Dernier message: 03/11/2013, 16h14
  2. [C] envoi signal vers processus setuid
    Par devilfish dans le forum Linux
    Réponses: 4
    Dernier message: 15/12/2009, 17h58
  3. emission d'un signal gtk "automatiquement"
    Par splinternabs dans le forum GTK+ avec C & C++
    Réponses: 2
    Dernier message: 27/02/2006, 16h42
  4. envoi de signal selon un timing très précis
    Par shura dans le forum POSIX
    Réponses: 3
    Dernier message: 17/12/2004, 16h32

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