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 :

Fonction pour quitter gtk


Sujet :

GTK+

  1. #1
    Membre émérite
    Homme Profil pro
    Recherche du travail
    Inscrit en
    Août 2004
    Messages
    561
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Recherche du travail

    Informations forums :
    Inscription : Août 2004
    Messages : 561
    Par défaut Fonction pour quitter gtk
    Bonjour,

    Pour un programme j'utilise la vue éclaté (à la manière de gimp)
    Le problème c'est que j'aimerai savoir si il y a une fonction qui ferme gtk.

    Merci d'avance

  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 : 41
    Localisation : France

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

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

    gtk_main_quit

  3. #3
    Membre émérite
    Homme Profil pro
    Recherche du travail
    Inscrit en
    Août 2004
    Messages
    561
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Recherche du travail

    Informations forums :
    Inscription : Août 2004
    Messages : 561
    Par défaut
    Sa ne ferme que la fenêtre courante. Je veux que sa ferme toute les fenetres

  4. #4
    Expert confirmé
    Avatar de gerald3d
    Homme Profil pro
    Conducteur de train
    Inscrit en
    Février 2008
    Messages
    2 308
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Conducteur de train
    Secteur : Transports

    Informations forums :
    Inscription : Février 2008
    Messages : 2 308
    Billets dans le blog
    5
    Par défaut
    Alors tu as plusieurs thread. A toi d'arrêter chaque boucle que tu as lancé.

  5. #5
    Membre émérite
    Homme Profil pro
    Recherche du travail
    Inscrit en
    Août 2004
    Messages
    561
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Recherche du travail

    Informations forums :
    Inscription : Août 2004
    Messages : 561
    Par défaut
    De quelle manière?
    L'allocation dynamique des widget des fenêtres: je pense que c'est un peu lourd et gtk_main_quit ne prend pas d'argument.

    Une autre solution?

  6. #6
    Expert confirmé
    Avatar de gerald3d
    Homme Profil pro
    Conducteur de train
    Inscrit en
    Février 2008
    Messages
    2 308
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Conducteur de train
    Secteur : Transports

    Informations forums :
    Inscription : Février 2008
    Messages : 2 308
    Billets dans le blog
    5
    Par défaut
    Normalement tu peux ouvrir autant de fenêtre que tu veux sur la boucle principale de GTK+. Si cette boucle est interrompu pour une raison ou une autre TOUTES les fenêtres se ferment. C'est pour celal que gege2061 ta donné la solution.

    Maintenant si en exécutant gtk_main_quit(); tu as encore des fenêtres ouvertes, c'est que tu as créé d'autres boucles en plus de la principale. Ce n'est peut être pas très judicieux, d'autant que finalement si il faut ça ne sert à rien.

    Regarde ton code de ce côté là pour voir comment tu utilises les boucles.

  7. #7
    Membre émérite
    Homme Profil pro
    Recherche du travail
    Inscrit en
    Août 2004
    Messages
    561
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Recherche du travail

    Informations forums :
    Inscription : Août 2004
    Messages : 561
    Par défaut
    J'utilise une autre boucle car sinon la nouvelle fenêtre créer ne prend pas en compte les events (avec du cairo qui contient des events)

    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
    GtkWidget* gui_main_init(void) {
    ...
    g_signal_connect(G_OBJECT(pMenuItem), "activate", G_CALLBACK(gui_draw_init), (GtkWidget*) window);
    ...
    }
     
    GtkWidget* gui_draw_init(GtkWidget* widget, gpointer data) {
    GtkWidget *window;
     
     	window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
    ...
    render_init(window);
    ...
    }
     
    void render_init (GtkWidget *window)
    GtkWidget     *canvas;
      SelectionInfo  selection = {FALSE, 0, 0, 0, 0};
    ...
    gtk_container_add (GTK_CONTAINER (window), canvas);
      gtk_widget_show_all (window);
      gtk_main ();
    }

  8. #8
    Membre émérite
    Homme Profil pro
    Recherche du travail
    Inscrit en
    Août 2004
    Messages
    561
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Recherche du travail

    Informations forums :
    Inscription : Août 2004
    Messages : 561
    Par défaut
    En quittant la boucle au préalable et en la recréent, cela fonctionne.
    Mais j'aimerai savoir si il y a une solution plus propre?

Discussions similaires

  1. [WD16] Fonction pour quitter une application
    Par lololebricoleur dans le forum WinDev
    Réponses: 8
    Dernier message: 27/09/2011, 15h34
  2. Fonction pour quitter le main
    Par MayOL69bg dans le forum C#
    Réponses: 1
    Dernier message: 15/05/2007, 10h47
  3. Réponses: 3
    Dernier message: 01/05/2007, 12h03
  4. Fonction pour quitter une exécution
    Par sone47 dans le forum MATLAB
    Réponses: 3
    Dernier message: 31/01/2007, 15h39
  5. Réponses: 7
    Dernier message: 18/06/2003, 15h20

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