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 :

Cherche composants gtk.


Sujet :

GTK+ avec C & C++

  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 Cherche composants gtk.
    Bonsoir tout le monde

    Je viens vous demander des composants.

    J'ai mis ma fenêtre en maximize.

    Je souhaiterai pouvoir mettre une règle verticale sous la gauche de la fenêtre et une règle sous la barre d'outil.

    Est il possible de mettre un combox dans la barre d'outil avec gtk.

    J'ai regardé ce tuto mai, je n'ai pas trouvé.

    http://developer.gnome.org/doc/API/2.0/gtk/ch01.html

    Merci

    Cordialement

    A bientôt

  2. #2
    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
    Re

    Pour les règles j'ai trouvé ce tuto.

    http://www.gtk.org/tutorial/x893.html

    Voici le que j'ai fais

    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
     
    #define XSIZE  600
    #define YSIZE  400
     
     
    #define EVENT_METHOD(i, x) GTK_WIDGET_GET_CLASS(i)->x
     
    e.table = gtk_table_new (3, 2, FALSE);
    gtk_container_add (GTK_CONTAINER (e.win), e.table);
     
    e.area = gtk_drawing_area_new ();
    gtk_widget_set_size_request (GTK_WIDGET (e.area), XSIZE, YSIZE);
    gtk_table_attach (GTK_TABLE (e.table), e.area, 1, 2, 1, 2,
                          GTK_EXPAND|GTK_FILL, GTK_FILL, 0, 0);
    gtk_widget_set_events (e.area, GDK_POINTER_MOTION_MASK |
                                     GDK_POINTER_MOTION_HINT_MASK);
     
    e.reglev = gtk_vruler_new();
    gtk_ruler_set_metric (GTK_RULER (e.reglev), GTK_PIXELS);
    gtk_ruler_set_range (GTK_RULER (e.reglev), 0, YSIZE, 10, YSIZE );
    g_signal_connect_swapped (G_OBJECT (e.area), "motion_notify_event",
                                  G_CALLBACK (EVENT_METHOD (e.reglev, motion_notify_event)),
                                  G_OBJECT (e.reglev));
    gtk_table_attach (GTK_TABLE (e.table), e.reglev, 0, 1, 1, 2,
                          GTK_FILL, GTK_EXPAND|GTK_SHRINK|GTK_FILL, 0, 0);
     
     
     
     
    e.regleh = gtk_hruler_new();
    gtk_ruler_set_metric (GTK_RULER (e.regleh), GTK_PIXELS);
    gtk_ruler_set_range (GTK_RULER (e.regleh), 7, 13, 0, 20);
    g_signal_connect_swapped (G_OBJECT (e.area), "motion_notify_event",
                                  G_CALLBACK (EVENT_METHOD (e.regleh, motion_notify_event)),
                                  G_OBJECT (e.regleh));
    gtk_table_attach (GTK_TABLE (e.table), e.regleh, 1, 2, 0, 1,
                          GTK_EXPAND|GTK_SHRINK|GTK_FILL, GTK_FILL, 0, 0);
    Il n' y a aucune erreur, m'ai rien ne s'affiche.

    Pourquoi?

    A+

  3. #3
    Membre chevronné Avatar de Lunixinclar
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2006
    Messages
    416
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 416
    Par défaut
    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
    #include <gtk/gtk.h>
    
    int main( int argc, char *argv[] )
    {
      GtkWidget *fenetre, *pTable, *aArea, *eReglev, *eRegleh;
    
      gtk_init (&argc, &argv);
      fenetre = gtk_window_new (GTK_WINDOW_TOPLEVEL);
      g_signal_connect(G_OBJECT(fenetre),"destroy",G_CALLBACK(gtk_main_quit),NULL);
    
      #define XSIZE  600
      #define YSIZE  400
      #define EVENT_METHOD(i, x) GTK_WIDGET_GET_CLASS(i)->x
    
      pTable = gtk_table_new (3, 2, FALSE);
      gtk_container_add (GTK_CONTAINER (fenetre), pTable);
    
      aArea = gtk_drawing_area_new ();
      gtk_widget_set_size_request (GTK_WIDGET (aArea), XSIZE, YSIZE);
      gtk_table_attach (GTK_TABLE (pTable), aArea, 1, 2, 1, 2,
                          GTK_EXPAND|GTK_FILL, GTK_FILL, 0, 0);
      gtk_widget_set_events (aArea, GDK_POINTER_MOTION_MASK |
                                     GDK_POINTER_MOTION_HINT_MASK);
    
      eReglev = gtk_vruler_new();
      gtk_ruler_set_metric (GTK_RULER (eReglev), GTK_PIXELS);
      gtk_ruler_set_range (GTK_RULER (eReglev), 0, YSIZE, 10, YSIZE );
      g_signal_connect_swapped (G_OBJECT (aArea), "motion_notify_event",
                                  G_CALLBACK (EVENT_METHOD (eReglev, motion_notify_event)),
                                  G_OBJECT (eReglev));
      gtk_table_attach (GTK_TABLE (pTable), eReglev, 0, 1, 1, 2,
                          GTK_FILL, GTK_EXPAND|GTK_SHRINK|GTK_FILL, 0, 0);
    
      eRegleh = gtk_hruler_new();
      gtk_ruler_set_metric (GTK_RULER (eRegleh), GTK_PIXELS);
      gtk_ruler_set_range (GTK_RULER (eRegleh), 7, 13, 0, 20);
      g_signal_connect_swapped (G_OBJECT (aArea), "motion_notify_event",
                                  G_CALLBACK (EVENT_METHOD (eRegleh, motion_notify_event)),
                                  G_OBJECT (eRegleh));
      gtk_table_attach (GTK_TABLE (pTable), eRegleh, 1, 2, 0, 1,
                          GTK_EXPAND|GTK_SHRINK|GTK_FILL, GTK_FILL, 0, 0);
    
      gtk_widget_show_all(fenetre);
      gtk_main ();
        
      return 0;
    }

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

    Lunixinclar, j'essais de faire mon prog en c, avec plusieurs fichier.

    Dont les voicis.

    Structure
    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
     
    #include <stdlib.h>
    #include <gtk/gtk.h>
     
     
    #ifndef structure_H
    #define structure_H
     
    struct composant
    {
      GtkWidget *image;     
      GtkWidget *icon;     
      GtkWidget *table;     
      GtkWidget *area;     
      GtkWidget *reglev;
      GtkWidget *regleh;    
      GtkWidget *menu;
      GtkWidget *menuitem;
      GtkWidget *menubar;
      GtkWidget *button;
      GtkWidget *win;
      GtkWidget *vbox;
      GtkWidget *fermer;
    };
    #endif
    Composants
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    #include "structure.h"
    #include "barreoutil.h"
     
    extern struct composant e;
     
    extern struct barreoutil b;
    Pour le main, je voudrais bien le mettre mai il y a au moin 230 lignes.

    Voulez vous que je les mettent quand même.

    Merci

    Cordialement

    A bientôt

  5. #5
    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 argon
    Pour le main, je voudrais bien le mettre mai il y a au moin 230 lignes.
    Pas bien ca, du moins à éviter, le main devrait être un des module le plus petit, comme je te l'avais expliqué dans un autre post pour la découpe de ton projet !

    D'ailleur je me permet de te répéter qu'on peut trop facilement dans ton cas éviter des variables globales mais là tu en as rajouté à ce que j'observe S'il y'a des choses que tu ne sais pas bien faire en C n'hésite pas à le dire et on te donnera des conseils mais sinon ton application continuera dans ce sens

    Citation Envoyé par argon
    Voulez vous que je les mettent quand même.
    Au mieux, tu peux faire un zip et le mettre en pièce jointe au post
    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 !

  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
    Bonsoir tout le monde

    Je vais repartir à zero.

    J'ai mis en pièce joint une petite fenêtre où je veux mêttre un bouton.

    Je veux comprendre comment bien organiser un prog en c.

    Rien ne s'affiche, pourriez vous me dire pourquoi.

    Merci

    Cordialement

    A bientôt
    Fichiers attachés Fichiers attachés

  7. #7
    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
    Bon y'a encore du boulot


    A mon avis tu n'est pas très familier avec la programmation modulaire, il va falloir que tu étudies ca de très près car pour le moment ce n'est pas ca du tout ! Quand dans un autre post je te disais qu'on inclut pas de fichiers source mais uniquement des headers, cela ne veut pas dire que dans ce header doit y figurer la définition de ta fonction !

    On reprend, dans un fichier d'interface (header - *.h), se trouve les "prototype" de tes fonctions, des structures (si tu veux qu'elles soient visible par d'autres modules) et autres variables globales, des types utilisateurs et j'en passe mais jamais de définition !

    Je te met en pièce jointe une modification de ton source, arrangé comme il se doit. Par contre un conseil, ne fait pas une fonction pour ajouter chaque widgets, tu découpe normalement comme je t'avais expliqué dans un autre post.

    Regarde bien comme j'ai fait, surtout pour la structure et comment je la passe en paramètre à ta fonction tout en la gardant en locale à main uniquement, c'est plus sécurisé de cette manière, il faut éviter tant que possible les déclaration globales !
    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 !

  8. #8
    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
    Re

    Merci Franck.H.

    il faudrait que je trouve un doc qui parle de programation modulaire en c, dans mon livre il n'en parle pas.

    Cordialement

    A bientôt

  9. #9
    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 argon
    il faudrait que je trouve un doc qui parle de programation modulaire en c, dans mon livre il n'en parle pas.
    Dans un de tes autres post je t'ai donnée un lien sur le sujet ... du moins je crois !

    Voici un lien: Programmation modulaire en C
    Sinon: Comment bien organiser son développement.
    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 !

  10. #10
    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
    Re

    Franck.H vous utiliser quel compilateur.

    Moi j'utilise dev c++, car dans ce que vous m'avez envoyé il y a un dossier .objet et moi quand je compile, dev cpp ne le créé pas, j'ai essayé manuellement, mai ca ne passe pas.

    Merci


    A+

  11. #11
    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
    Re

    ca va, je commence à comprendre Franck.H.

    j'ai deux derniere questions:

    Si je veux, faire un menus ou/et un barre d'outil, dois je faire de la même manniere.

    Autre question, si je veux mettre des regles sur un appli, dois je faire de la même maniere en ajoutant des autres fichier source.

    A+

  12. #12
    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 argon
    ca va, je commence à comprendre Franck.H.
    Bon c'est déjà une bonne chose alors

    Si je veux, faire un menus ou/et un barre d'outil, dois je faire de la même manniere.
    Bin moi ce que je fait, si ce sont de gros menus et barres d'outils, je créé des fonctions (privées bien entendu) spécifiques pour chaque parties:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    main
      |___create_window (fonction publique du module interface)
                |___create_menus (fonction privée)
                |___create_toolbar (fonction privée)
                |___create_content (fonction privée)
    Autre question, si je veux mettre des regles sur un appli, dois je faire de la même maniere en ajoutant des autres fichier source.
    Nan pas d'autres fichiers sources, faut pas trop en abuser non plus c'est complètement inutile, tes fichiers interface.c et interface.h suffisent pour l'interface principale complète.

    Dans le schéma que je t'ai donné ci-dessus, tu peux créer tes règles directement à partir de la fonction create_content, c'est son rôle ! N'oublie pas non plus, pour les callback, il est de coutume d'appeler son module callback et non action
    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 !

  13. #13
    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

    Pars rapport au menu, il sera important avec beaucoup de fonctionnalité.

    Même chose pour la barre d'outil.

    Un derniere question, les bouttons prênent en place toute la fénêtre, que dois je faire pour leur donner un taille normal Franck.H.

    Merci

    cordialement

    A bientôt

  14. #14
    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
    Au mieux, si tu n'as qu'un seul bouton, tu peux changer les deux valeurs booléennes dans l'ajout du bouton:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    gtk_box_pack_start (GTK_BOX (e->vbox), e->quit, FALSE, FALSE, 5);
    mais GTK+ alloue un espace automatiquement donc redimenssionne le widget en conséquence, au pire, tu peux lui faire prendre toute la largeur mais pas toute la hauteur, a moins à la rigueure d'utiliser une grille au lieu d'un simple GtkVBox mais je n'est pas testé, normalement cela devrais revenir au même mais faut tester.
    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 !

  15. #15
    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

    Je veux mettre mettre 2 boutons en horizontal séparé de taille normal, avec au dessus de ces boutons une zone de text.

    Voici ce que j'ai fais.

    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
     
    void enregistrement (composant * e)
    {
    e->reg=gtk_button_new_from_stock(GTK_STOCK_OK);
     
     
    gtk_box_pack_start (GTK_BOX (e->hbox),(e->vbox),(e->reg), FALSE, FALSE, 1);
     
    e->code =gtk_text_view_new();
    gtk_box_pack_start (GTK_BOX (e->hbox),(e->vbox),(e->code), FALSE, FALSE, 1);
     
     
     
    }
     
     
     
    void bouton (composant * e)
    {
       e->quit = gtk_button_new_from_stock(GTK_STOCK_QUIT);
     
     
       g_signal_connect(
          G_OBJECT(e->quit),
          "clicked",
          G_CALLBACK(gtk_main_quit),
          NULL
       );
     
       gtk_box_pack_start (GTK_BOX (e->hbox),(e->vbox), e->quit, FALSE, FALSE, 1);
    }
     
    }
    Ca ne fonctionne pas, je veux pour le moment comprendre le principe du positionnement et la taille des composants.

    J'ai vue qu'il y avait GTK_TABLE, est ce que cela sert à positionner les composants.

    Cordialement

    A bientôt

  16. #16
    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
    Ce que tu peux faire éventuellement, c'est de mettre les boutons dans un GtkHButtonBox ou GtkVButtonBox (suivant la disposition que tu veux) et mettre ce container ensuite dans le GtkVBox juste après avoir inséré ta zone de texte.

    J'ai vue qu'il y avait GTK_TABLE, est ce que cela sert à positionner les composants.
    Oui bien sûr mais vu le peu de widgets je pense pas que ce soit utile, mais tu peux toujours essayer.
    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 !

  17. #17
    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
    Voilà, j'ai fait quelques tests pour toi et un GtkHButtonBox conviendrais pas mal en changeant sa façon d'organiser les widgets donc si tu veux les placer l'un à côté de l'autre, tu peux utiliser cette combinaison:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
     
    p_vbox = gtk_vbox_new   (FALSE, 5);
    gtk_container_add       (GTK_CONTAINER (p_win), p_vbox);
     
    p_hbuttonbox = gtk_hbutton_box_new ();
    gtk_box_pack_end (GTK_BOX (p_vbox), p_hbuttonbox, FALSE, FALSE, 5);
    gtk_hbutton_box_set_layout_default ( GTK_BUTTONBOX_END );
     
    p_btn [0] = gtk_button_new_with_label ("Bouton 1");
    p_btn [1] = gtk_button_new_with_label ("Bouton 2");
    gtk_box_pack_start (GTK_BOX (p_hbuttonbox), p_btn [0], FALSE, FALSE, 0);
    gtk_box_pack_start (GTK_BOX (p_hbuttonbox), p_btn [1], FALSE, FALSE, 0);
    Voilà, j'espère que ca t'aidera
    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 !

  18. #18
    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
    Re


    Ca compil mais ce n'execute pas.

    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
     
    void enregistrement (composant * e)
    {
     
    e->code =gtk_text_view_new();
     
    gtk_box_pack_start (GTK_BOX (e->hbox),(e->code), FALSE, FALSE, 0);
     
    e->reg[0]=gtk_button_new_from_stock(GTK_STOCK_OK);
     
     
     
     e->quit[1] = gtk_button_new_from_stock(GTK_STOCK_QUIT);
     
     
       g_signal_connect(
          G_OBJECT(e->quit),
          "clicked",
          G_CALLBACK(gtk_main_quit),
          NULL
       );
       gtk_box_pack_start (GTK_BOX (e->hbox),e->reg[0], FALSE, FALSE, 0);
       gtk_box_pack_start (GTK_BOX (e->hbox), e->quit[1], FALSE, FALSE, 0);
     
    }
    Le main

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    e.vbox = gtk_vbox_new (TRUE, 5);
      gtk_container_add (GTK_CONTAINER (e.win),e.vbox);
     
      e.hbox = gtk_hbutton_box_new ();
      gtk_box_pack_end (GTK_BOX (e.vbox), e.hbox, FALSE, FALSE, 5);
      gtk_hbutton_box_set_layout_default ( GTK_BUTTONBOX_END );
      enregistrement (&e);
    Pourriez vous me dire d'où vient l'erreur.

    Merci

    Cordialement

    A bientôt

  19. #19
    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
    Peut-être ici:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    e->reg[0]=gtk_button_new_from_stock(GTK_STOCK_OK);
    e->quit[1] = gtk_button_new_from_stock(GTK_STOCK_QUIT);
       
    g_signal_connect(
       G_OBJECT(e->quit),
       "clicked",
       G_CALLBACK(gtk_main_quit),
       NULL
    );
    
    gtk_box_pack_start (GTK_BOX (e->hbox),e->reg[0], FALSE, FALSE, 0);
    gtk_box_pack_start (GTK_BOX (e->hbox), e->quit[1], FALSE, FALSE, 0);
    Si ce sont que de simple pointeurs et non pas des tableaux de pointeurs c'est faux ce que tu as fait !

    Attention tout de même à ca:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    e.vbox = gtk_vbox_new (TRUE, 5);
    pour avoir l'effet désiré, la valeur booléenne doit être à FALSE sinon GTK+ réparti la zone en deux pour que chaque conteneur occupe à peu près le même espace !
    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 !

  20. #20
    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
    Re

    j'ai corrigé

    Ca fonctionne.

    Mai je voudrais, éloigner les boutons l'un de l'autre et mettre la zone de texte au dessus et ajouter un label.

    Je pense que je devrais utiliser la GTK_TABLE.

    Ais je raison?

    A+

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Cherche Composant pour développer un jeu sous DELPHI 6 ?
    Par baltagi dans le forum Composants VCL
    Réponses: 1
    Dernier message: 26/11/2005, 12h25
  2. Cherche composant comme le TDirectoryListBox...
    Par Walm dans le forum C++Builder
    Réponses: 7
    Dernier message: 30/04/2004, 16h31
  3. Cherche composant comme TComPort mais pour l'USB
    Par Walm dans le forum C++Builder
    Réponses: 3
    Dernier message: 15/04/2004, 15h57
  4. [Kylix] cherche composants pour les sockets
    Par coriolis dans le forum EDI
    Réponses: 1
    Dernier message: 09/04/2003, 10h18
  5. Cherche composant Web Browser indépendant
    Par lancelot69 dans le forum Composants VCL
    Réponses: 2
    Dernier message: 31/07/2002, 11h14

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