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 d'ouverture gtk_file_chooser_dialog_new


Sujet :

GTK+ avec C & C++

  1. #1
    Membre régulier
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    février 2003
    Messages
    115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : février 2003
    Messages : 115
    Points : 98
    Points
    98
    Par défaut probleme d'ouverture gtk_file_chooser_dialog_new
    Bonjour,

    je suis ne train de migrer un gros programme de GTK2 en GTK3 et j'ai quelques soucis.

    • Si je fais un programme tout bête qui lance la fonction gtk_file_chooser_dialog_new, cela marche nickel
    • Si je teste la fonction gtk_message_dialog_new dans le callback d'un bouton, cela marche nickel
    • Si je met la fonction gtk_message_dialog_new dans ce même callback, j'ai le message suivant dans codeblock :
      Program received signal SIGTRAP, Trace/breakpoint trap.
      In KERNELBASE!DebugBreak () (C:\WINDOWS\System32\KernelBase.dll)


    quelqu'un aurait une idée de ce qui pourrait bloquer dans mon programme ?
    je suis sur Win10, en C++, la dernière version de gtk3 et glade pour les ihm. Il faudrait que je fasse un UI glade pour le composant d'ouverture de fichier ?

    Merci de votre aide

  2. #2
    Membre régulier
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    février 2003
    Messages
    115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : février 2003
    Messages : 115
    Points : 98
    Points
    98
    Par défaut
    ça semblerait venir d'options de compilation, je creuse...

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

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

    Informations forums :
    Inscription : février 2008
    Messages : 2 271
    Points : 4 890
    Points
    4 890
    Billets dans le blog
    5
    Par défaut
    Bonjour.

    Passes-tu en premier argument un pointeur sur la fenêtre principale ou bien ce paramètre à la valeur NULL ?

  4. #4
    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
    Bonjour,

    Citation Envoyé par gargle Voir le message
    • Si je teste la fonction gtk_message_dialog_new dans le callback d'un bouton, cela marche nickel
    • Si je met la fonction gtk_message_dialog_new dans ce même callback, j'ai le message suivant dans codeblock :
    Euh, je ne vois pas la différence entre les deux actions, mais pourtant tu dis que l'un fonctionne et pas l'autre... Quand on te demander de poster du code, c'est pour éviter ces ambiguïtés de reformulation.

    Citation Envoyé par gargle Voir le message
    quelqu'un aurait une idée de ce qui pourrait bloquer dans mon programme ?
    je suis sur Win10, en C++, la dernière version de gtk3 et glade pour les ihm. Il faudrait que je fasse un UI glade pour le composant d'ouverture de fichier ?

    Merci de votre aide
    "la dernière version de gtk3", c'est vague... Selon la data à laquelle on lit ce post, ça peut être des choses différentes. Merci de donner la version exacte, c'est moins ambigü (et on a aussi des gens qui croient utiliser la dernière version alors qu'il n'en est rien).

    Ensuite pourquoi utiliser GTK+ en C++, et pas les bindings C++ (GTKmm) ?

    Pour ta migration, as tu bien lu le guide de migration dans la doc GTK+ 3 ? Par exemple, as tu bien compilé en GTK+2 avec désactivation des symboles GLib et GTK+2 obsolètes avant de passer aux autres étapes de migration ?

    Enfin, sans code, il est très difficile de t'aider. Prends l'habitude de mettre un sous-ensemble compilable de ton code qui permette de reproduire le problème. Cela rend le soucis plus facile à diagnostiquer, et donc tu as plus de chances que quelqu'un t'apporte la solution, autrement tu n'auras au mieux que des remarques génériques un peu au pif.

    Pour finir, j'ai vu que tu as ouvert plusieurs fils, gerald3d t'a répondu, et tu n'as jamais répondu en retour. Si les gens prennent du temps pour répondre à tes problèmes, la moindre des choses serait que tu en prennes un minimum, ne serait-ce que pour dire si tu es passé à autre chose...
    Documentation officielle GTK+ 3:
    GTK en C, GTK en Python

    Tutoriels GTK+ 3:
    GTK en C, GTK en Python

    Tutoriels par l'exemple (platform-demos):
    GTK (tous langages)

  5. #5
    Membre régulier
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    février 2003
    Messages
    115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : février 2003
    Messages : 115
    Points : 98
    Points
    98
    Par défaut
    désolé, pas vu la notification de réponse au message ... et j’étais indisponible entre temps.

    alors, dans l'ordre argument pointeur vers la fenêtre principale : NULL

    concernant le code, c'est un gros projet pro. Par contre, c'est exactement le même code et ça semble être un soucis de version de lib.
    dans le code, la premiere partie passe (messageBox) mais la deuxieme partie fait planter le programme.
    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
    GtkDialogFlags flags = GTK_DIALOG_DESTROY_WITH_PARENT;
    GtkWidget * dialog = gtk_message_dialog_new (GTK_WINDOW(panel->GetRoot()),
    								 flags,
    								 GTK_MESSAGE_ERROR,
    								 GTK_BUTTONS_CLOSE,
    								 "hello from toto!   ; )");
    gtk_dialog_run ( GTK_DIALOG (dialog));
    gtk_widget_destroy (dialog);
     
    GtkWidget *fdialog = gtk_file_chooser_dialog_new ("Select DTED source folder to import",NULL,
                        GTK_FILE_CHOOSER_ACTION_OPEN,//GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER,
                        "_Cancel", GTK_RESPONSE_CANCEL,
                        "_Open", GTK_RESPONSE_ACCEPT,
                        NULL);
    gtk_dialog_run (GTK_DIALOG (fdialog));
    gtk_widget_destroy (fdialog);
    je suis en version 3.24.20 et j'ai essayé aussi en 3.24.2

    je ne sais pas pour les binding, c'est un projet recupéré, pas parti de zero au depart.

    pour le guide de la migration, oui, normalement tout bien suivi. ca compile, la premiere fenetre se lance, des boutons lancent aussi d'autre bouts de code GTK3 avec des IHM. Il y a juste l'appel au file chooser qui passe pas.

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

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

    Informations forums :
    Inscription : février 2008
    Messages : 2 271
    Points : 4 890
    Points
    4 890
    Billets dans le blog
    5
    Par défaut
    Bonjour.

    Je ne comprends pas très bien comment cette fonction est correctement initialisée ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    GtkWidget * dialog = gtk_message_dialog_new (GTK_WINDOW(panel->GetRoot()),
    								 flags,
    								 GTK_MESSAGE_ERROR,
    								 GTK_BUTTONS_CLOSE,
    								 "hello from toto!   ; )");
    Sachant que le prototype de gtk_message_dialog_new(); est le suivant :
    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
    30
    GtkWidget *
    gtk_file_chooser_dialog_new (const gchar *title,
                                 GtkWindow *parent,
                                 GtkFileChooserAction action,
                                 const gchar *first_button_text,
                                 ...);
    Creates a new GtkFileChooserDialog. This function is analogous to gtk_dialog_new_with_buttons().
     
    Parameters
     
    title
    Title of the dialog, or NULL.
    [allow-none]
    parent
    Transient parent of the dialog, or NULL.
    [allow-none]
    action
    Open or save mode for the dialog
     
    first_button_text
    stock ID or text to go in the first button, or NULL.
    [allow-none]
    ...
    response ID for the first button, then additional (button, id) pairs, ending with NULL
     
    Returns
     
    a new GtkFileChooserDialog
     
    Since: 2.4
    Il me semble qu'il manque le titre et que les arguments doivent finir par NULL.

  7. #7
    Membre régulier
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    février 2003
    Messages
    115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : février 2003
    Messages : 115
    Points : 98
    Points
    98
    Par défaut
    en fait, ce n'est pas la fonction gtk_message_dialog_new mais la fonction gtk_file_chooser_dialog_new qui pose problème.
    le gtk_message_dialog_new est la pour tester, mais va disparaître après.

  8. #8
    Membre régulier
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    février 2003
    Messages
    115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : février 2003
    Messages : 115
    Points : 98
    Points
    98
    Par défaut
    en utilisant la fonction gtk_file_chooser_native_new je n'ai toujours pas de résultats.

    j'utilise codeblocks pour compiler.
    j'ai inclus le dossier C:\msys64\mingw32\bin\pkg-config --cflags gtk+-3.0 dans build / compiler settings / other compiler options
    par contre, C:\msys64\mingw32\bin\pkg-config --libs gtk+-3.0 ne marche pas dans build / linker settings / other link options
    j'ai rajouté les libs :
    libgtk-3
    libgdk-3
    gobject-2.0
    cairo
    gdk_pixbuf-2.0
    Des choses que je fais mal ?

Discussions similaires

  1. probleme d'ouverture de requette
    Par ghita269 dans le forum ASP
    Réponses: 4
    Dernier message: 29/12/2005, 10h37
  2. Probleme d'ouverture de disquette
    Par rika dans le forum Périphériques
    Réponses: 4
    Dernier message: 28/11/2005, 16h29
  3. Probleme d'ouverture d'une BD Access !!!
    Par realmadrid dans le forum Access
    Réponses: 7
    Dernier message: 07/10/2005, 15h19
  4. [visual c++]Probleme d'ouverture de solution
    Par dje41 dans le forum MFC
    Réponses: 2
    Dernier message: 12/04/2005, 11h41
  5. Probleme d'ouverture de formulaire
    Par nemesys971 dans le forum IHM
    Réponses: 11
    Dernier message: 01/02/2005, 15h08

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