Conception barre de menu simple dans le GTK

Le code source est la suivante:

/ * AUTOR: Xixi 
  DATE: 01/04/2020 23:37:16 
* / 

#include <gtk / gtk.h> vide delete_event (GtkWidget * widget * GdkEvent événement , les données de gpointer) { 
gtk_main_quit (); 
} Int main ( int argc, ombles * argv []) { 
GtkWidget * fenêtre; 
GtkWidget * Vbox; 
GtkWidget * rootmenu1; 
GtkWidget * rootmenu2; 
GtkWidget * rootmenu3; 
GtkWidget * rootmenu4; 
GtkWidget * menubar;







GtkAccelGroup * accel_group; 
GtkWidget * arrivemenu; 
GtkWidget * leavemenu; 
GtkWidget * showmenu; 
GtkWidget * mapmenu; 
GtkWidget * menuitem;
ombles * title = " 汽车站出租车拉客系统" ; 

gtk_init ( & argc, & argv); 

Fenêtre = gtk_window_new (GTK_WINDOW_TOPLEVEL); 
gtk_window_set_title (GTK_WINDOW (fenêtre), titre); 
gtk_widget_set_size_request (fenêtre, 500 , 450 ); 
gtk_container_set_border_width (GTK_CONTAINER (fenêtre),10 ); );
g_signal_connect (G_OBJECT (fenêtre), " delete_event " , G_CALLBACK (gtk_main_quit), NULL); 

arrivemenu = gtk_menu_new (); 
menuitem = gtk_menu_item_new_with_label ( " 车牌号" ); 
gtk_menu_shell_append (GTK_MENU_SHELL (arrivemenu), menuitem); 
gtk_widget_show (menuitem); 

menuitem = gtk_menu_item_new_with_label ( " 到达时间" ); 
gtk_menu_shell_append (GTK_MENU_SHELL (arrivemenu), menuitem); 
gtk_widget_show (menuitem); 

menuitem = gtk_menu_item_new_with_label ( " 停放位置"
gtk_menu_shell_append (GTK_MENU_SHELL (arrivemenu), menuitem); 
gtk_widget_show (menuitem); 

rootmenu1 = gtk_menu_item_new_with_label ( " 车辆到达" ); 
gtk_menu_item_set_submenu (GTK_MENU_ITEM (rootmenu1), arrivemenu); 
menubar = gtk_menu_bar_new (); 
gtk_menu_shell_append (GTK_MENU_SHELL (barre de menus), rootmenu1); 
gtk_widget_show (rootmenu1); 

leavemenu = gtk_menu_new (); 
menuitem = gtk_menu_item_new_with_label ( " 车牌号" ); 
gtk_menu_shell_append (GTK_MENU_SHELL (leavemenu), menuitem); 
gtk_widget_show (menuitem); 

élément du menu= gtk_menu_item_new_with_label ( " 离开时间" ); 
gtk_menu_shell_append (GTK_MENU_SHELL (leavemenu), menuitem); 
gtk_widget_show (menuitem); 
 
menuitem = gtk_menu_item_new_with_label ( " 应付费用" ); 
gtk_menu_shell_append (GTK_MENU_SHELL (leavemenu), menuitem); 
gtk_widget_show (menuitem); 

rootmenu2 = gtk_menu_item_new_with_label ( " 车辆离开" ); 
gtk_menu_item_set_submenu (GTK_MENU_ITEM (rootmenu2), leavemenu); 
gtk_menu_shell_append (GTK_MENU_SHELL (barre de menus), rootmenu2); 
gtk_widget_show (rootmenu2); 

showmenu = gtk_menu_new (); 
élément du menu= gtk_menu_item_new_with_label ( " 显示... " ); 
gtk_menu_shell_append (GTK_MENU_SHELL (showmenu), menuitem); 
gtk_widget_show (menuitem); 

rootmenu3 = gtk_menu_item_new_with_label ( " 车场情况" ); 
gtk_menu_item_set_submenu (GTK_MENU_ITEM (rootmenu3), showmenu); 
gtk_menu_shell_append (GTK_MENU_SHELL (barre de menus), rootmenu3); 
gtk_widget_show (rootmenu3); 

mapmenu = gtk_menu_new (); 
menuitem = gtk_menu_item_new_with_label ( " 九江地点查询" ); 
gtk_menu_shell_append (GTK_MENU_SHELL (mapmenu), menuitem); 
gtk_widget_show (menuitem); 
 
élément du menu= Gtk_menu_item_new_with_label ( " guidage d'itinéraire le plus court " ); 
gtk_menu_shell_append (GTK_MENU_SHELL (mapmenu), MenuItem), 
le gtk_widget_show (MenuItem); 

MenuItem = gtk_menu_item_new_with_label ( " informations de point de vue " ); 
gtk_menu_shell_append (GTK_MENU_SHELL (mapmenu), MenuItem), 
le gtk_widget_show (MenuItem) ; 

MenuItem = gtk_menu_item_new_with_label ( " Vue de l'itinéraire recommandé " ); 
gtk_menu_shell_append (GTK_MENU_SHELL (mapmenu), MenuItem); 
gtk_widget_show (MenuItem); 

accel_group = gtk_accel_group_new (); // combinaison optimisera le sous-menu
 = gtk_window_add_accel_group (GTK_WINDOW (fenêtre), accel_group ) ;
menuitemgtk_image_menu_item_new_from_stock (GTK_STOCK_NEW, accel_group); 
gtk_menu_shell_append (GTK_MENU_SHELL (mapmenu), menuitem); 
gtk_widget_show (menuitem); 

rootmenu4 = gtk_menu_item_new_with_label ( " 导航功能" ); 
gtk_menu_item_set_submenu (GTK_MENU_ITEM (rootmenu4), mapmenu); 
gtk_menu_shell_append (GTK_MENU_SHELL (barre de menus), rootmenu4); 
gtk_widget_show (rootmenu4); 

gtk_widget_show (barre de menus); 

vbox = gtk_vbox_new (FALSE, 0 ); 
gtk_box_pack_start (GTK_BOX (vbox), la barre de menus, FALSE, FALSE, 0 ); 
gtk_widget_show (vbox); 
gtk_container_add (GTK_CONTAINER (fenêtre), vbox); 

gtk_widget_show_all (fenêtre);

gtk_main (); 

retourner  0 ; 


}

La logique de code est simple!

 

 

 

Il était Walker, étape par étape Dengfeng!

Je suppose que tu aimes

Origine www.cnblogs.com/ouyangmail/p/12616876.html
conseillé
Classement