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 :

Probleme avec GtkFileChooserDialog


Sujet :

GTK+ avec C & C++

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    182
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 182
    Par défaut Probleme avec GtkFileChooserDialog
    Jai un ptit soucis avec la création d'un GtkFileChooserDialog dont la syntaxe est simplement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    GtkWidget* gtk_file_chooser_dialog_new(const gchar *title, 
    GtkWindow *parent,
    GtkFileChooserAction? action, const gchar *first_button_text, ...);
    donc voici mon code qui est normalement bon :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    GtkWidget *dossier;
     
        /// Instructions
     
            dossier = gtk_file_chooser_dialog_new(  "Selection du dossier",
                                                    NULL,
                                                    GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER,
                                                    GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
                                                    GTK_STOCK_OPEN, GTK_RESPONSE_OK,
                                                    NULL);
     
            gtk_window_set_modal(GTK_WINDOW(dossier), TRUE);
     
            gtk_dialog_run(GTK_DIALOG(dossier));
    mais il m'affiche une erreur gtk.exe a rencontrer une erreur...

    mais ce code lui passe sans erreur malheureusement aucun bouton :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    GtkWidget *dossier;
     
        /// Instructions
     
            dossier = gtk_file_chooser_dialog_new(  "Selection du dossier",
                                                    NULL,
                                                    GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER,
                                                  NULL,
                                                    NULL);
     
            gtk_window_set_modal(GTK_WINDOW(dossier), TRUE);
     
            gtk_dialog_run(GTK_DIALOG(dossier));
    c'est plutot énervant car jen ai deja fais qui fonctionnait sans soucis je vois pas pourquoi cette fois ci ca ne passerai pas

  2. #2
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Par défaut
    Et en mettant la constante GTK_RESPONSE_ACCEPT au lieu de GTK_RESPONSE_OK ?
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    182
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 182
    Par défaut
    C identique aucune différence

  4. #4
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Par défaut
    Bin à part ca, sur ce bout de code je ne vois rien de bizarre ou de choquant... L'erreur survient à quel moment exactement ? Tu arrives tout de même à afficher la boîte de dialogue ?
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    182
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 182
    Par défaut
    Avec les 4 boutons montrés la haut oui elle s'affiche mais si je ne met que : GTK_RESPONSE_OK l'erreur arrive avant l'affichage !!

  6. #6
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Par défaut
    Citation Envoyé par la_praline
    Avec les 4 boutons montrés la haut oui elle s'affiche
    Disons 2 boutons avec chacun un ID de réponse

    Citation Envoyé par la_praline
    mais si je ne met que : GTK_RESPONSE_OK l'erreur arrive avant l'affichage !!
    Tu veux dire sans ajouter GTK_STOCK_CANCEL et GTK_REPONSE_CANCEL ?
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    182
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 182
    Par défaut
    Ben quand je met :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    dossier = gtk_file_chooser_dialog_new(  "Selection du dossier",
                                                    NULL,
                                                    GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER,
                                                    GTK_RESPONSE_CANCEL,
                                                    GTK_RESPONSE_OK,
                                                    NULL);
    message d'erreur avant affichage

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    dossier = gtk_file_chooser_dialog_new(  "Selection du dossier",
                                                    NULL,
                                                    GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER,
                                                    GTK_RESPONSE_OK,
                                                    NULL);
    idem avant affichage

    mais avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    dossier = gtk_file_chooser_dialog_new(  "Selection du dossier",
                                                    NULL,
                                                    GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER,
                                                    GTK_STOCK_CANCEL,GTK_RESPONSE_CANCEL,
                                                    GTK_STOCK_OPEN,GTK_RESPONSE_OK,
                                                    NULL);
    alors elle s'affiche puis y'a l'erreur quelque seconde après !!

  8. #8
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Par défaut
    Heu il n'y a que la troisième méthode qui est la bonne, il faut que tu lises des cours de GTK+ quant au passage de ce genre constante pour ce genre de widgets car on ne passe Ô grand jamais de constantes GTK_REPONSE_XXX sans avoir passé préalablement une constante GTK_STOCK_XXX !

    On passe par ailleurs toujours dans l'ordre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    GTK_STOCK_XXX, GTK_RESPONSE_XXX
    Les GTK_STOCK_XXX représentent les boutons et les GTK_RESPONSE_XXX les valeurs de retour ce qui te permettra en outre de pouvoir déterminer l'action à effectuer suivant le bouton actionné par l'utilisateur !

    Pourquoi tu as l'erreur avec la bonne méthode j'en sais rien pour le moment Mais je sais qu'en générale on met plutôt la constante GTK_RESPONSE_ACCEPT avec le bouton GTK_STOCK_OPEN.
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    182
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 182
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    dossier = gtk_file_chooser_dialog_new(  "Selection du dossier",
                                                    NULL,
                                                    GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER,
                                                    GTK_STOCK_OPEN,GTK_RESPONSE_ACCEPT,
                                                    NULL);
    voila le derniere code donc avec NULL ca passe tjs mais avec cette association parfois il me laisse naviguer parfois erreur juste après l'affichage.

    Juste par curiosité le GTK_STOCK_XXX consiste en quoi exactement il va chercher le bouton en lui meme ??

    Est ce que le fait que je code sous windows plutot que sous linux peut générer des erreurs vu que c'est une librairie de programmation linux ??

    Je demande on sait jamais !!!

  10. #10
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Par défaut
    Citation Envoyé par la_praline
    voila le derniere code donc avec NULL ca passe tjs mais avec cette association parfois il me laisse naviguer parfois erreur juste après l'affichage.
    Ca me paraît bizarre quand même

    Citation Envoyé par la_praline
    Juste par curiosité le GTK_STOCK_XXX consiste en quoi exactement il va chercher le bouton en lui meme ??
    Bin il créé un bouton tout simplement comme tu le fait avec la fonction gtk_button_new_from_stock en prennant le GtkStockItem que tu lui passes en paramètre, d'où l'importance de l'ordre bouton/réponse !

    Citation Envoyé par la_praline
    Est ce que le fait que je code sous windows plutot que sous linux peut générer des erreurs vu que c'est une librairie de programmation linux ??

    Je demande on sait jamais !!!
    Je ne pense pas, la bibliothèque se veut extrènement portable et j'ai d'ailleurs jamais eu de problèmes de ce genre En fait les seuls problèmes que j'ai parfois c'est quand je sais pas utiliser un widget
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

Discussions similaires

  1. Probleme avec la copie des surfaces
    Par Black_Daimond dans le forum DirectX
    Réponses: 3
    Dernier message: 09/01/2003, 10h33
  2. Problèmes avec le filtrage des ip
    Par berry dans le forum Réseau
    Réponses: 9
    Dernier message: 30/12/2002, 07h51
  3. probleme avec la touche F10
    Par b.grellee dans le forum Langage
    Réponses: 2
    Dernier message: 15/09/2002, 22h04
  4. Probleme avec fseek
    Par Bjorn dans le forum C
    Réponses: 5
    Dernier message: 04/08/2002, 07h17
  5. [Kylix] probleme avec un imagelist
    Par NicoLinux dans le forum EDI
    Réponses: 4
    Dernier message: 08/06/2002, 23h06

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