废话不都说,代码很简单。主要实现的是,在主窗口中添加菜单栏File->Quit
,实现点击Quit
选项时,退出程序。主要代码如下:
static void _exit_program(GtkWidget *wid, gpointer ptr) {
(void)wid;
GApplication *app = ptr;
g_application_quit(app);
}
static void _new_menu_bar(GApplication* app, GtkWidget *main_window) {
GtkWidget *mbar = gtk_menu_bar_new();
GtkWidget *vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 5);
gtk_box_pack_start(GTK_BOX(vbox), mbar, FALSE, TRUE, 0);
GtkWidget *file_mi = gtk_menu_item_new_with_label("File");
gtk_menu_shell_append(GTK_MENU_SHELL(mbar), file_mi);
GtkWidget *f_menu = gtk_menu_new();
gtk_menu_item_set_submenu(GTK_MENU_ITEM(file_mi), f_menu);
GtkWidget *quit_mi = gtk_menu_item_new_with_label("Quit");
gtk_menu_shell_append(GTK_MENU_SHELL(f_menu), quit_mi);
g_signal_connect(quit_mi, "activate", G_CALLBACK(_exit_program), app);
gtk_container_add(GTK_CONTAINER(main_window), vbox);
}
效果图:
