Bonjour

Je continue l'apprentissage de GTK sous linux en développant une petite appli.
Je souhaiterais créer un menu comme on en voit dans toutes les applications.

J'ai essayé de récupérer des petits bouts de code à droite à gauche pour voir comment faire.
J'arrive au final à créer mon menu mais ce dernier n'est visible que lorsque mon appli est en full screen (ce qui est embetant, car je ne souhaite jamais passer en full screen).

Voici un petit bout de code dans lequel je créer un menu tout simple .
Pour compiler : gcc test10.c -lgmp -o test10 $(pkg-config --libs --cflags gtk+-3.0)
./test10

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
 
 
#include <stdlib.h>
#include <gtk/gtk.h>
//#include "rsa.c"
 
int main(int argc,char **argv){
 
	// INITIALISATION DE GTK
	gtk_init(&argc, &argv);
 
 
	// VARIABLE
	GtkWidget *fenetre = NULL;
	GtkWidget *menubar;
	GtkWidget *fileMenu;
	GtkWidget *fileMi;
	GtkWidget *quitMi;
	GtkWidget *vbox;
 
 
	// FENETRE PRINCIPALE ET PARAMETRAGE
	fenetre = gtk_window_new(GTK_WINDOW_TOPLEVEL);				// on créer notre fenetre principale
	gtk_window_set_title(GTK_WINDOW(fenetre), "Calculatrice Crypto");	// titre
	gtk_window_set_default_size(GTK_WINDOW(fenetre), 500, 500);		// taille
	gtk_window_set_position(GTK_WINDOW(fenetre), GTK_WIN_POS_CENTER);	// position 
 
	vbox = gtk_box_new(FALSE, 0);
	gtk_container_add(GTK_CONTAINER(fenetre), vbox);
 
	fileMi = gtk_menu_item_new_with_label("File");
	quitMi = gtk_menu_item_new_with_label("Quit");
 
	menubar = gtk_menu_bar_new();
	fileMenu = gtk_menu_new();
 
	gtk_menu_item_set_submenu(GTK_MENU_ITEM(fileMi), fileMenu);
	gtk_menu_shell_append(GTK_MENU_SHELL(fileMenu), quitMi);
	gtk_menu_shell_append(GTK_MENU_SHELL(menubar), fileMi);
 
 
	gtk_box_pack_start(GTK_BOX(vbox), menubar, FALSE, FALSE, 0);
 
 
	// FONCTION DE CALLBACK 
   	g_signal_connect(G_OBJECT(fenetre), "delete-event", G_CALLBACK(gtk_main_quit), NULL);
 
	// AUTRE
	gtk_widget_show_all(fenetre);				// affichage
	gtk_main();						// lancement de la boucle infini
 
 
	return EXIT_SUCCESS;
}

Y'a t'il moyen de faire tout de même apparaître mon menu alors que je ne suis pas en full screen ?

Cordialement