GTK学习笔记之菜单相关[0611]
2009-06-11 08:36
295 查看
GTK学习笔记
--菜单及其相关
Written By Pingf
Code #include <gtk/gtk.h> //对原文的例子稍加修改以便理解gtk的菜单布局的原理 int main( int argc, char *argv[]) { GtkWidget *window; GtkWidget *vbox; GtkWidget *menubar; GtkWidget *filemenu1,*filemenu2; GtkWidget *file; GtkWidget *quit; GtkWidget *realquit; gtk_init(&argc, &argv); window = gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER); gtk_window_set_default_size(GTK_WINDOW(window), 250, 200); gtk_window_set_title(GTK_WINDOW(window), "menu"); vbox = gtk_vbox_new(FALSE, 0); gtk_container_add(GTK_CONTAINER(window), vbox); //menubar 和 menu 是不同的 menubar = gtk_menu_bar_new(); filemenu1 = gtk_menu_new(); filemenu2 = gtk_menu_new(); //menu_item和menu及menubar也是不同的 //如果说menu和menubar是定义了菜单的框体 //那么menu_item则定义了菜单了菜单的内容 //但这么说又不是很科学,因为每级菜单向上一层挂接时,要通过menu_item来挂接 //下面定义menu_item的内容 file = gtk_menu_item_new_with_label("File"); quit = gtk_menu_item_new_with_label("Quit"); realquit=gtk_menu_item_new_with_label("RealQuit"); //下面将menu挂接在上级菜单的某个菜单项(menu_item)中 gtk_menu_item_set_submenu(GTK_MENU_ITEM(file), filemenu1); gtk_menu_item_set_submenu(GTK_MENU_ITEM(quit),filemenu2); //下面对每级菜单填入具体的菜单项 gtk_menu_shell_append(GTK_MENU_SHELL(filemenu2),realquit); gtk_menu_shell_append(GTK_MENU_SHELL(filemenu1), quit); gtk_menu_shell_append(GTK_MENU_SHELL(menubar), file); gtk_box_pack_start(GTK_BOX(vbox), menubar, FALSE, FALSE, 3); g_signal_connect_swapped(G_OBJECT(window), "destroy", G_CALLBACK(gtk_main_quit), NULL); //说明一下active信号,对于最后一级的菜单项来说,点击后触发 //但若是该菜单项下面还有子菜单,则鼠标移动至其上即触发 //可以将下面链接函数中realquit改为quit测试一下 g_signal_connect(G_OBJECT(realquit), "activate", G_CALLBACK(gtk_main_quit), NULL); gtk_widget_show_all(window); gtk_main(); return 0; }
再附一张图片以便理解
相关文章推荐
- GTK学习笔记之菜单相关[0623]
- 孙鑫VC++视频学习笔记之5: VC菜单相关编程
- 孙鑫VC++视频学习笔记之5: VC菜单相关编程
- Linux学习内核移植相关笔记第2部分
- Linux基础学习笔记之目录的相关操作
- redis服务器相关学习笔记
- 网络管理工具提供的软件包和相关配置文件_学习笔记
- Java容器学习笔记(二) Set接口及其实现类的相关知识总结
- Hadoop入门学习笔记_day01(大数据的相关概念 )
- 大数据学习笔记之三十六 NewSQL相关知识
- ASP.NET控件开发学习笔记--第5回 HtmlTextWriter的相关枚举
- 【python学习笔记】获取当前日期前后N天或N月的日期的相关方法
- bootstrap学习笔记之为导航条添加标题、二级菜单及状态 http://www.imooc.com/code/3120
- TQ2440 学习笔记—— 6、Windows、Linux环境下相关工具、命令的使用
- 学习笔记---Ubuntu学习的相关知识
- UNIX环境学习笔记------原始套接字-------如何使用man 手册查看原始套接字的相关资料?
- openerp学习笔记 日期时间相关操作
- android 相关学习笔记
- MVVM设计模式相关--Silverlight商业应用程序开发学习笔记(12)
- 嵌入式开发之linux基础第五天学习笔记 Linux网络相关