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 :

Ajout de tabs


Sujet :

GTK+ avec C & C++

  1. #1
    Hbx
    Hbx est déconnecté
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2
    Par défaut Ajout de tabs
    Bonjour,

    J'ai un petit probleme, je n'arrive pas a rajouter de tabs dans une page a onglets en GTK+.

    Voila un petit code d'exemple :

    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
    # include <gtk/gtk.h>
    # include <gdk/gdkprivate.h>
     
    void    cb_quit(GtkWidget *p_widget __attribute__ ((__unused__)),
                    gpointer user_data __attribute__ ((__unused__)))
    {
      gtk_main_quit();
    }
     
    void    cb_disconnect(GtkWidget*p_widget __attribute__ ((__unused__)),
                     GtkWidget *fr)
    {
      gint  num;
     
      num = gtk_notebook_get_current_page(GTK_NOTEBOOK(fr));
      gtk_notebook_remove_page(GTK_NOTEBOOK(fr), num);
    }
     
    void    cb_connect(GtkWidget*p_widget __attribute__ ((__unused__)),
                          GtkWidget *fr)
    {
         GtkWidget     *chan;
         GtkWidget     *lbl;
     
         lbl = gtk_label_new("OK");
         chan = gtk_text_view_new();
         gtk_notebook_append_page(GTK_NOTEBOOK(fr), chan, lbl);
     
    }
     
    int main(int ac, char **av)
    {
      GtkWidget     *window;
      GtkWidget     *Vbox;
      GtkWidget     *main_frame;
      GtkWidget     *b[2];
     
      gtk_init(&ac, &av);
      window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
      g_signal_connect(G_OBJECT (window), "destroy", G_CALLBACK(cb_quit), NULL);
      Vbox = gtk_vbox_new(FALSE, 0);
      gtk_container_add(GTK_CONTAINER(window), Vbox);
      main_frame = gtk_notebook_new();
      gtk_box_pack_start(GTK_BOX(Vbox), main_frame, TRUE, TRUE, 0);
     
      cb_connect(NULL, main_frame);
     
      b[0] = gtk_button_new_from_stock(GTK_STOCK_DISCONNECT);
      b[1] = gtk_button_new_from_stock(GTK_STOCK_CONNECT);
      g_signal_connect(G_OBJECT(b[0]), "clicked",
                       G_CALLBACK(cb_disconnect), main_frame);
      g_signal_connect(G_OBJECT(b[1]), "clicked",
                       G_CALLBACK(cb_connect), main_frame);
      gtk_box_pack_start(GTK_BOX(Vbox), b[0], FALSE, FALSE, 5);
      gtk_box_pack_start(GTK_BOX(Vbox), b[1], FALSE, FALSE, 5);
      gtk_widget_show_all(window);
      gtk_main();
      return (0);
    }
    La supprseion fonctionne mais pas l'ajout, une idee ?
    cb_connect fonctionne bien car je m'en sert pour ajouter un nouvel onglet avant l'appel a gtk_main();

    Merci d'avance.

  2. #2
    Membre Expert
    Homme Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 259
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 259
    Par défaut
    Il te faut peut être des gtk_widget_show ou gtk_widget_show_all dans ton callback d'ajout de page à ton GtkNotebook

  3. #3
    Hbx
    Hbx est déconnecté
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2
    Par défaut
    Merci beaucoup,

    gtk_widget_show_all fonctionne parfaitement apres l'ajoutet de l'onglet.


+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Ajout une ligne dans un GridView en clic TAB
    Par ragu23 dans le forum ASP.NET
    Réponses: 0
    Dernier message: 17/03/2011, 13h35
  2. [D2009]TPageControl, ajout d'un bouton dans les tabs
    Par istam3 dans le forum Composants VCL
    Réponses: 4
    Dernier message: 04/03/2011, 14h59
  3. [XL-2003] ajout et conservation de Tab dans l'outil tabstrip
    Par vince404802 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 30/11/2010, 06h23
  4. Réponses: 1
    Dernier message: 14/04/2008, 15h35
  5. Ajouter un contrôl dans Tab control
    Par riadhz dans le forum MFC
    Réponses: 6
    Dernier message: 25/09/2006, 12h37

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