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 affichage composant avec gtk_table


Sujet :

GTK+ avec C & C++

  1. #1
    Débutant  
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    1 122
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 122
    Points : 189
    Points
    189
    Par défaut Probleme affichage composant avec gtk_table
    Bonjour tout le monde

    J'ai un problème avec GTKtable pour le positionnement des composants, le positionnent passe mais tout les composants semble être écrasé pourtant je semble avoir bien suivie les instrutions du tuto.

    Voici le code pour l'affichage des composants.

    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
     
    void appli(struc * s)
    {
     GtkWidget *imgquit;
     GtkWidget *imgconvertion;     
     GtkWidget *sommeaconvertir[0];   
     GtkWidget *resultat[1];    
     
     s->position = gtk_table_new(15,3,TRUE);   
     gtk_box_pack_start(GTK_BOX (s->vbox),s->position, TRUE, TRUE, 0);
     
     sommeaconvertir[0] = gtk_text_view_new();  
     gtk_table_attach_defaults(GTK_TABLE(s->position),sommeaconvertir[0],0,2,0,1);  
     
     resultat[1] = gtk_text_view_new();    
     gtk_table_attach_defaults(GTK_TABLE(s->position),resultat[1],0,2,1,2);  
     
     s->barre = gtk_hseparator_new(); 
     
     
     s->eurodollard[2]=gtk_radio_button_new_with_label(NULL,"Eurro=>Dollard");
    gtk_table_attach_defaults(GTK_TABLE(s->position),s->eurodollard[2],0,1,2,3);  
     
     s->dollardeuro[3] = gtk_radio_button_new_with_label(NULL,"Dollard=>Eurro"); 
    gtk_table_attach_defaults(GTK_TABLE(s->position),s->dollardeuro[3],0,1,3,4);  
     
     
     s->euroyen[4] = gtk_radio_button_new_with_label(NULL,"Eurro=>Yen");
     gtk_table_attach_defaults(GTK_TABLE(s->position),s->euroyen[4],0,1,4,5);  
     
     s->yeneuro[5] = gtk_radio_button_new_with_label(NULL,"yen=>euro");
       gtk_table_attach_defaults(GTK_TABLE(s->position), s->yeneuro[5],0,1,5,6);
     
      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[12] = GTK_WIDGET(gtk_tool_button_new(imgconvertion,"Convertion")); 
      gtk_table_attach_defaults(GTK_TABLE(s->position), s->converse[12],0,1,6,7);  
     
     
     
    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[13]),
          "clicked",
          G_CALLBACK(gtk_main_quit),
          NULL
       );     
     
     gtk_table_attach(GTK_TABLE(s->position),s->quit[13],1,2,7,8,
       GTK_EXPAND,GTK_EXPAND|GTK_FILL,0,0);      
    }
    Pourriez vous me dire où sont mes erreurs svp?

    Merci

    A +
    je suis un développeur debutant qui cherche à comprendre.

    Certain livre sont pas facile à comprendre.

  2. #2
    Membre éprouvé
    Avatar de Shugo78
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    1 119
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 1 119
    Points : 1 001
    Points
    1 001
    Par défaut

    As-tu des warnings ?
    Et qu'entends tu par écrasé ?
    Je te conseillerais d'utilisais gtk_table_attach tout simplement, tu as plus de contrôle sur la façon dont sont disposé les composants
    Omnes Vulnerant Ultima Necat
    Bye

  3. #3
    Débutant  
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    1 122
    Détails du profil
    Informations personnelles :
    Localisation : France

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

    Là, j'ai un nouveau problême la compilation ce fait me rien ne s'affiche.


    Je pense que cela vient des paramêtre de gtk_table.


    Voici structure.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
     
    #ifndef H_STRUCTURE
    #define H_STRUCTURE
     
     #include <stdlib.h>
    #include <gtk/gtk.h>
     
     
    typedef struct 
    {
    GtkWidget *label[5];
     
    GtkWidget *btselect[0];
    GtkWidget *btconve[1];
    GtkWidget *btquit[2];
    GtkWidget *win;
    GtkWidget *vbox;
    GtkWidget *pTable;
    GtkWidget *ztext[4];
    GtkWidget *draw;
    GtkWidget *image[3];
     
     
    }composant;
     
     
    void interf (composant * e);
     
    void dialog(GtkWidget *pWidget, gpointer data);
     
    void conv(gchar *sChemin);
     
     
    #endif
    ici structure.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
     
    #include "structure.h"
     
     
     
    void interf (composant * e)
    {
     
    e->btselect[0] = gtk_button_new_with_label("Selectionner image");
     
    gtk_table_attach(GTK_TABLE(e->pTable),e->btselect[0],0, 1, 0, 1,GTK_EXPAND|GTK_FILL,GTK_EXPAND,0,0);
     
     
    g_signal_connect(G_OBJECT(e->btselect[0]), 
    "clicked", G_CALLBACK(dialog),
    NULL);
     
    e->image[3] = gtk_image_new_from_file("./img.jpg");
    gtk_table_attach(GTK_TABLE(e->pTable),e->image[3],1, 2, 0, 1,GTK_EXPAND|GTK_FILL,GTK_EXPAND,0,0);
     
    e->btconve[1]= gtk_button_new_with_label("Convertion");
     
    gtk_table_attach(GTK_TABLE(e->pTable),e->btconve[1],0, 1, 1, 2,GTK_EXPAND|GTK_FILL,GTK_EXPAND,0,0);
     
     
    e->ztext[4] = gtk_text_view_new();
     
    gtk_table_attach_defaults(GTK_TABLE(e->pTable),e->ztext[4],1, 2, 1, 2);
     
     
     
    e->btquit[2] = gtk_button_new_with_label("Quitter");
     
    gtk_table_attach(GTK_TABLE(e->pTable),e->btquit[2],0, 1, 3, 3,GTK_EXPAND|GTK_FILL,GTK_EXPAND,0,0);
     
    g_signal_connect(G_OBJECT(e->btquit[2]), 
    "clicked", G_CALLBACK(gtk_main_quit),
    NULL);
     
    }

    Le main.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
     
    #include <stdlib.h>
    #include <gtk/gtk.h>
    #include "structure.h"
     
     composant e;
     
    int main (int argc, char *argv[])
    {
     
      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);
     
     
      e.win = gtk_window_new (GTK_WINDOW_TOPLEVEL);
      gtk_container_set_border_width (GTK_CONTAINER (e.win), 8);
      gtk_window_set_title (GTK_WINDOW (e.win), "Imageconvert");
      gtk_window_set_default_size(GTK_WINDOW(e.win), 600, 700);
      gtk_window_set_position (GTK_WINDOW (e.win), GTK_WIN_POS_CENTER);
      gtk_widget_realize (e.win);
      g_signal_connect (e.win, "destroy", gtk_main_quit, NULL);
     
     
      e.pTable=gtk_table_new(5,3,TRUE);
     
    gtk_container_add(GTK_CONTAINER(e.win), GTK_WIDGET(e.pTable));
     
      interf(&e);
     
     
     
      gtk_widget_show_all (e.win);
      gtk_main ();
      return 0;
    }
    Pourriez vous me dire d'où vient ce petit problème?

    Merci

    A +
    je suis un développeur debutant qui cherche à comprendre.

    Certain livre sont pas facile à comprendre.

Discussions similaires

  1. probleme affichage composants formulaires
    Par coco-sup dans le forum Struts 2
    Réponses: 2
    Dernier message: 20/05/2008, 15h49
  2. Réponses: 1
    Dernier message: 11/08/2007, 04h21
  3. probleme affichage composant lors de l'ouverture
    Par argon dans le forum Interfaces Graphiques en Java
    Réponses: 3
    Dernier message: 27/04/2007, 11h11
  4. Probleme Affichage Panel avec Changement Résolution
    Par devlopassion dans le forum C++Builder
    Réponses: 5
    Dernier message: 11/01/2007, 20h30
  5. problem affichage avec HTML::TableExtract
    Par rootdaoud dans le forum Web
    Réponses: 2
    Dernier message: 04/07/2005, 19h35

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