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 :

Petit soucis avec gtktable.


Sujet :

GTK+ avec C & C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    1 124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 124
    Par défaut Petit soucis avec gtktable.
    Bonjour tout le monde

    Je ne mais pas tout le code car j'ai 89 lignes.

    je ne mets que les codes concernant gtktable.

    Mon probleme est que rien ne s'affichent, et j'ai des erreurs d'execution..

    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
     
    s->position = gtk_table_new(15,3,TRUE);   
     gtk_container_add(GTK_CONTAINER(s->win),GTK_WIDGET(s->position));
     
      GtkWidget *quit[1];
     
    quit[13] =  GTK_WIDGET(gtk_tool_button_new(imgquit,"Quitter"));    
    g_signal_connect(
          G_OBJECT(quit),
          "clicked",
          G_CALLBACK(gtk_main_quit),
          NULL
       );     
     
     gtk_table_attach_defaults(GTK_TABLE(s->position),quit[13],1,2,14,15);
    J'ai regardé un tuto.

    Que manque t'il?

    cordialement

    A bientôt

  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
    Ici:
    Tu as un tableau de pointeurs de 1 indice or, tu en utilises 13 dans ton code, c'est soit l'un soit l'autre mais une des deux valeur est fausse !
    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 éprouvé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    1 124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 124
    Par défaut
    Bonjour tout le monde

    Ca ne fonctionne toujour pas.

    J'ai une erreur d'execution.

    Voici le 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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
     
    #include "strut_win.h"
    #include <gtk/gtk.h>
     
     
     
    void appli(struc * s)
    {
     GtkWidget *imgquit;
     GtkWidget *imgconvertion;     
     GtkWidget *sommeaconvertir[1];   
     GtkWidget *resultat[1];    
     
     s->position = gtk_table_new(15,3,TRUE);   
     gtk_container_add(GTK_CONTAINER(s->win),GTK_WIDGET(s->position));
     
     sommeaconvertir[0] = gtk_text_view_new();  
     
     
     
     
     
     resultat[1] = gtk_text_view_new();    
     
     
     s->barre = gtk_hseparator_new(); 
     
     
     s->eurodollard[2]=gtk_radio_button_new_with_label(NULL,"Eurro=>Dollard");
     
     
     s->dollardeuro[3] = gtk_radio_button_new_with_label(NULL,"Dollard=>Eurro"); 
     
     
     
     s->euroyen[4] = gtk_radio_button_new_with_label(NULL,"Eurro=>Yen");
     
     
     s->yeneuro[5] = gtk_radio_button_new_with_label(NULL,"yen=>euro");
     
     
      s->barre = gtk_hseparator_new(); 
     gtk_box_pack_start (GTK_BOX (s->vbox), s->barre, TRUE, TRUE, 0); 
     
     
     
     imgconvertion =  gtk_image_new_from_file("./icon/imgconvert.gif");
     
     s->converse[14] = GTK_WIDGET(gtk_tool_button_new(imgconvertion,"Convertion")); 
      gtk_table_attach_defaults(GTK_TABLE(s->position), s->converse[14],0,1,14,15);  
     
     
     
    imgquit =  gtk_image_new_from_file("./icon/quit_gif.gif");  
     
    s->quit[13] =  GTK_WIDGET(gtk_tool_button_new(imgquit,"Quitter"));    
    g_signal_connect(
          G_OBJECT(s->quit),
          "clicked",
          G_CALLBACK(gtk_main_quit),
          NULL
       );     
     
     gtk_table_attach_defaults(GTK_TABLE(s->position),s->quit[13],1,2,14,15);      
    }
    Pourquoi ca me fait cet erreur.

    Cordialement

  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
    Pourrais-tu fournir le code complet compilable s-il te plaît ? Je n'ai pas envie de réécrire la moitié de l'application pour pouvoir tester et voir ce qui cloche

    Si c'est trop gros, fait un zip et met-le en pièce jointe
    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 éprouvé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    1 124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 124
    Par défaut
    Bonsoir tout le monde




    Voici strut_win.h

    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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
     
    #include <stdlib.h>
    #include <gtk/gtk.h>
     
    #ifndef strut_win_H
    #define strut_win_H
     
    typedef struct 
    {
      GtkWidget *menubar;       
      GtkWidget *menu;       
      GtkWidget *separe;        
      GtkWidget *quit[13];
      GtkWidget *convert;
      GtkWidget *hbox;
      GtkWidget *vbox;
      GtkWidget *menuiteminfo;
      GtkWidget *menuitemchange;
      GtkWidget *menuitemfile;
      GtkWidget *win;
      GtkWidget *icoaide;
      GtkWidget *menuitemaide;
      GtkWidget *converse[1];
      GtkWidget *somme;      
      GtkWidget *icoinfo;
      GtkWidget *menuinfo;
      GtkWidget *menuchange;
      GtkWidget *menuitemlicence; 
      GtkWidget *icolicence;
      GtkWidget *change;
      GtkWidget *menuitem;
      GtkWidget *files;  
      GtkWidget *menuquit;
      GtkWidget *icomenuquit;
      GtkWidget *barre;
     
     
      GtkWidget *eurodollard[2];
      GtkWidget *dollardeuro[3];
      GtkWidget *euroyen[4];
      GtkWidget *yeneuro[5];
      GtkWidget *eurodollardaustr[6];
      GtkWidget *dollardaustreuro[7];
      GtkWidget *eurodollardcanadian[8];
      GtkWidget *dollardcanadianeuro[9];
      GtkWidget *eurodinar[10];
      GtkWidget *dinareuro[11];
     
      GtkWidget *position;      
     
    }struc;     
     
    void menu(struc * s);
    void info(GtkWidget * widget, gpointer data);
    void taux(GtkWidget * widget, gpointer data);
    void licence(GtkWidget * widget, gpointer data);
    void appli(struc * s);
    #endif

    Voici wind.c

    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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
     
    #include "strut_win.h"
    #include <gtk/gtk.h>
     
     
     
    void appli(struc * s)
    {
     GtkWidget *imgquit;
     GtkWidget *imgconvertion;     
     GtkWidget *sommeaconvertir[1];   
     GtkWidget *resultat[1];    
     
     s->position = gtk_table_new(15,3,TRUE);   
     gtk_container_add(GTK_CONTAINER(s->win),GTK_WIDGET(s->position));
     
     sommeaconvertir[0] = gtk_text_view_new();  
     
     
     
     
     
     resultat[1] = gtk_text_view_new();    
     
     
     s->barre = gtk_hseparator_new(); 
     
     
     s->eurodollard[2]=gtk_radio_button_new_with_label(NULL,"Eurro=>Dollard");
     
     
     s->dollardeuro[3] = gtk_radio_button_new_with_label(NULL,"Dollard=>Eurro"); 
     
     
     
     s->euroyen[4] = gtk_radio_button_new_with_label(NULL,"Eurro=>Yen");
     
     
     s->yeneuro[5] = gtk_radio_button_new_with_label(NULL,"yen=>euro");
     
     
      s->barre = gtk_hseparator_new(); 
     gtk_box_pack_start (GTK_BOX (s->vbox), s->barre, TRUE, TRUE, 0); 
     
     
     
     imgconvertion =  gtk_image_new_from_file("./icon/imgconvert.gif");
     
     s->converse[14] = GTK_WIDGET(gtk_tool_button_new(imgconvertion,"Convertion")); 
      gtk_table_attach_defaults(GTK_TABLE(s->position), s->converse[14],0,1,14,15);  
     
     
     
    imgquit =  gtk_image_new_from_file("./icon/quit_gif.gif");  
     
    s->quit[13] =  GTK_WIDGET(gtk_tool_button_new(imgquit,"Quitter"));    
    g_signal_connect(
          G_OBJECT(s->quit),
          "clicked",
          G_CALLBACK(gtk_main_quit),
          NULL
       );     
     
     gtk_table_attach_defaults(GTK_TABLE(s->position),s->quit[13],1,2,14,15);      
    }

    Voici le main

    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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
     
    #include <stdlib.h>
    #include <gtk/gtk.h>
    #include "strut_win.h"
     
     
     
    void appli(struc * s);
     
     
    int main (int argc, char *argv[])
    {
     
     struc s;
     
     
     
     
     
      g_log_set_handler ("Gtk", G_LOG_LEVEL_WARNING, (GLogFunc) gtk_false, NULL);
      gtk_init (&argc, &argv);
      g_log_set_handler ("Gtk", G_LOG_LEVEL_WARNING, g_log_default_handler, NULL);
     
     
      s.win = gtk_window_new (GTK_WINDOW_TOPLEVEL);
      gtk_container_set_border_width (GTK_CONTAINER (s.win), 8);
      gtk_window_set_default_size(GTK_WINDOW (s.win),500,500);
      gtk_window_set_title (GTK_WINDOW (s.win), "Change devise");
      gtk_window_set_position (GTK_WINDOW (s.win), GTK_WIN_POS_CENTER);
     
      gtk_widget_realize (s.win);
      g_signal_connect (s.win, "destroy", gtk_main_quit, NULL);
     
     
     
      s.vbox = gtk_vbox_new (TRUE, 6);
      gtk_container_add (GTK_CONTAINER (s.win), s.vbox);
     
     
      s.hbox = gtk_hbutton_box_new ();
      gtk_box_pack_end (GTK_BOX (s.vbox), s.hbox, FALSE, FALSE, 5);
      gtk_hbutton_box_set_layout_default ( GTK_BUTTONBOX_END );
     
     
     
     
      menu(&s);
     appli(&s);
     
     
     
      gtk_widget_show_all (s.win);
      gtk_main ();
      return 0;
    }
    Je n'ais pas mis le menu, ni dialogue.c, car le probleme ne vient pas de là.

    Merci

    A +

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    1 124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 124
    Par défaut
    Bonjour tout le monde

    Voulez que je le mêtte en zip?

    Car je n'ais pas de réponse.

    A+

Discussions similaires

  1. petit soucis avec mon graveur
    Par Vador dans le forum Périphériques
    Réponses: 8
    Dernier message: 02/11/2005, 14h58
  2. petit soucis avec les listes
    Par Death83 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 03/09/2005, 10h08
  3. Petit souci avec clause where
    Par ybruant dans le forum SQL
    Réponses: 1
    Dernier message: 21/07/2005, 22h10
  4. petit souci avec des variables avec des fonctions psql
    Par dust62 dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 02/04/2005, 13h45
  5. [DEBUTANT] petits soucis avec un prgm de chat
    Par LechucK dans le forum MFC
    Réponses: 8
    Dernier message: 19/01/2004, 16h52

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