Bonjour, voilà j'ai un problème, cherche à mettre une image en arrière-plan grâce à une event_box, puis mettre par-dessus cette event_box, plusieurs cadres ou bouton. Le problème c'est que peu importe ce que je fais, l'image que je veux mettre en arrière-plan cache toujours mes autre widget.
Merci de votre aide !!
Mon code:
/* Déclaration du widget */
GtkWidget *pWindow;
GtkWidget *ptable[5];
GtkWidget *pimage[2];
GtkWidget *pbouton[10];
GtkWidget *pNotebook;
GtkWidget *pLabel[4];
GtkWidget *pTabLabel[4];
GtkWidget *pFrame[4];
GtkWidget *event_box;
GtkWidget *pVBox;
GdkPixbuf *icon;
gchar *sLabel[4];
gchar *sTabLabel[4];
gtk_init(&argc,&argv);
/* Création de la fenêtre */
pWindow = gtk_window_new(GTK_WINDOW_TOPLEVEL);
/* Définition de la position */
gtk_window_set_position(GTK_WINDOW(pWindow), GTK_WIN_POS_CENTER);
/* Définition de la taille de la fenêtre*/
gtk_window_maximize (GTK_WINDOW(pWindow));
/* Titre de la fenêtre */
gtk_window_set_title(GTK_WINDOW(pWindow), "Test");
/* Connexion du signal "destroy" */
g_signal_connect(G_OBJECT(pWindow), "destroy", G_CALLBACK(OnDestroy), NULL);
/* Création de la table de base*/
ptable[0]=gtk_table_new(30,30,TRUE);
gtk_container_add(GTK_CONTAINER(pWindow),GTK_WIDGET(ptable[0]));
/* Creation du GtkNotebook */
pNotebook = gtk_notebook_new();
gtk_table_attach_defaults(GTK_TABLE(ptable[0]), pNotebook, 1, 29, 2, 29);
/* Position des onglets : en haut */
gtk_notebook_set_tab_pos(GTK_NOTEBOOK(pNotebook), GTK_POS_TOP);
/*Première onglet*/
sLabel[0] = g_strdup_printf("Je suis le GtkLabel numero 1");
sTabLabel[0] = g_strdup_printf("Parametres & Resultats");
/* Creation des differents GtkLabel */
pLabel[0] = gtk_label_new(sLabel[0]);
pTabLabel[0] = gtk_label_new(sTabLabel[0]);
/* Création de la table onglet 1*/
ptable[1]=gtk_table_new(30,30,TRUE);
gtk_notebook_prepend_page_menu(GTK_NOTEBOOK(pNotebook),GTK_WIDGET(ptable[1]), pTabLabel[0], pLabel[0]);
/* Insertion de la page */
g_free(sLabel[0]);
g_free(sTabLabel[0]);
/* Création d'un EventBox et ajout de celui-ci dans la table1. */
event_box = gtk_event_box_new ();
gtk_table_attach_defaults(GTK_TABLE(ptable[1]),event_box,1,29,1,6);
/* Mise en place d'un arrière plan dans event-box */
pimage[1] = gtk_image_new_from_file (".\\image\\interactive panel.jpg");
gtk_container_add(GTK_CONTAINER(event_box),pimage[1]);
/*Création de premier gtkFrame*/
pFrame[0]=gtk_frame_new("Interactive Panel");
gtk_frame_set_shadow_type(GTK_FRAME(pFrame[0]),GTK_SHADOW_OUT);
gtk_table_attach_defaults(GTK_TABLE(ptable[1]),pFrame[0],1,15,1,6);
/*gtk_container_add(GTK_CONTAINER(event_box),pFrame[0]);*/
gtk_widget_show (event_box);
Partager