Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1421 connectés 

  FORUM HardWare.fr
  Programmation
  C

  [GTK+] Ajouter un boutton a une fenetre grace à une fonction

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[GTK+] Ajouter un boutton a une fenetre grace à une fonction

n°1883742
lolotomik
Posté le 12-05-2009 à 15:42:46  profilanswer
 

Bonsoir,
 
Je débute en GTK+, et je butte sur un point j'imagine fort simpliste, mais j'ai tout de même besoin de votre aide.
 
Ma question est simple, pourquoi mon label ne s'afiche pas dans ma fenêtre lorsque je clique sur le Menu OUVRIR ?
 

Code :
  1. #include <stdlib.h>
  2. #include <gtk/gtk.h>
  3. #include "prototypes.h"
  4. #include "callback.h"
  5. int main (int argc, char **argv)
  6. {
  7.     // DECLARATIONS DE VARIABLES
  8.         // GtkWidgets globaux :
  9.         GtkWidget *fenetre_principale = NULL,*vBox_princ = NULL;
  10.         GSList *pack = NULL;
  11.         // Widgets de la barre de menu :
  12.         GtkWidget *menuBar = NULL,*menu = NULL,*MenuItem = NULL;
  13.     gtk_init(&argc,&argv);
  14.     // Création de la fenetre principale
  15.     fenetre_principale = gtk_window_new(GTK_WINDOW_TOPLEVEL);
  16.     gtk_window_set_position(GTK_WINDOW(fenetre_principale),GTK_WIN_POS_CENTER);
  17.     gtk_window_set_title(GTK_WINDOW(fenetre_principale),"Projet NUEVA" );
  18.     gtk_window_set_default_size(GTK_WINDOW(fenetre_principale),700,400);
  19.     g_signal_connect(G_OBJECT(fenetre_principale),"delete_event",G_CALLBACK(Quitter_event),(GtkWidget *)fenetre_principale);
  20.     // Création de la vBox_princ
  21.     vBox_princ = gtk_vbox_new(FALSE,0);
  22.     gtk_container_add(GTK_CONTAINER(fenetre_principale),vBox_princ);
  23.     pack = g_slist_append (pack,(GtkWidget *)fenetre_principale);
  24.     pack = g_slist_append (pack,(GtkWidget *)vBox_princ);
  25.     // Création de la barre de menu
  26.     menuBar = gtk_menu_bar_new();
  27.         // MENU FICHIER
  28.         menu = gtk_menu_new();
  29.             //Bouton Ouvrir
  30.             MenuItem = gtk_menu_item_new_with_mnemonic("_Ouvrir" );
  31.             gtk_menu_shell_append(GTK_MENU_SHELL(menu),MenuItem);
  32.             g_signal_connect(G_OBJECT(MenuItem),"activate",G_CALLBACK(Ouvrir),(GSList *)pack);
  33.             //Bouton Quitter
  34.             MenuItem = gtk_menu_item_new_with_mnemonic("_Quitter" );
  35.             gtk_menu_shell_append(GTK_MENU_SHELL(menu),MenuItem);
  36.             g_signal_connect(G_OBJECT(MenuItem),"activate",G_CALLBACK(Quitter_quit),(GSList *)pack);
  37.             // Création du GTKItem Fichier
  38.             MenuItem = gtk_menu_item_new_with_mnemonic("_Fichier" );
  39.             gtk_menu_item_set_submenu(GTK_MENU_ITEM(MenuItem),menu);
  40.             gtk_menu_shell_append(GTK_MENU_SHELL(menuBar),MenuItem);
  41.         // MENU ?
  42.         menu = gtk_menu_new();
  43.             //Bouton En savoir Plus
  44.             MenuItem = gtk_menu_item_new_with_label("En savoir plus ..." );
  45.             gtk_menu_shell_append(GTK_MENU_SHELL(menu),MenuItem);
  46.             g_signal_connect(G_OBJECT(MenuItem),"activate",G_CALLBACK(Infos),(GSList *)pack);
  47.             // Création du GTKItem Fichier
  48.             MenuItem = gtk_menu_item_new_with_label("?" );
  49.             gtk_menu_item_set_submenu(GTK_MENU_ITEM(MenuItem),menu);
  50.             gtk_menu_shell_append(GTK_MENU_SHELL(menuBar),MenuItem);
  51.     gtk_box_pack_start(GTK_BOX(vBox_princ),menuBar,FALSE,FALSE,0);
  52.     // Affichage de la fenetre et de ses composants
  53.     gtk_widget_show_all(fenetre_principale);
  54.     gtk_main ();
  55.     return EXIT_SUCCESS;
  56. }
  57. void Ouvrir (GtkWidget *widget,GSList *pack) {
  58.     GtkWidget *label=NULL,*box=NULL;
  59.     GSList *temp_list=NULL;
  60.     temp_list = g_slist_nth(pack, 1);
  61.     box = GTK_WIDGET(temp_list->data);
  62.     label = gtk_label_new("ok" );
  63.     gtk_box_pack_start(GTK_BOX(box), label, FALSE, FALSE, 0);
  64.     gtk_widget_show(box);
  65. }


 
Merci à vous ;)

mood
Publicité
Posté le 12-05-2009 à 15:42:46  profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  [GTK+] Ajouter un boutton a une fenetre grace à une fonction

 

Sujets relatifs
Fonction substring dans un swfpointeur vs reference en retour de fonction
Apelle de la fonction Click de composant crée ou cour de l'executionProblème changement fenêtre
[Newbie] utilisation de fscanf et retour fonctionFonction recherchev alternative
La fonction mail() ne marche plus chez Free.fr ?Nouvelle fenêtre en premier plan [RESOLU]
apparition fenêtre en htmlimages qui disparaissent qd réduction fenetre IE
Plus de sujets relatifs à : [GTK+] Ajouter un boutton a une fenetre grace à une fonction


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR