GTK(三) 菜单
来源:互联网 发布:收录淘宝的搜索引擎 编辑:程序博客网 时间:2024/06/06 03:31
昨天考软件工程,OMG,老师给的简答题一个都没考,哇靠,一个都没有,害我把那么多英文句子背的那么熟还不考!很纠结,方总,您怎么不走寻常路呀……-_-||,回到寝室,看了下GTK关于菜单的应用,好吧,写下来。
先附上一段简单的代码,代码中有比较详细的解释,然后再说说关于menu的一些入门的函数吧。点击(此处)折叠或打开
- #include<gtk/gtk.h>
- #include<stdio.h>
- void closeApp(GtkWidget *window,gpointer data)
- {
- gtk_main_quit();
- }
- void open_file(GtkWidget *open_item,gpointer data)
- {
- printf("opening\n");
- }
- void save(GtkWidget *save_item,gpointer data)
- {
- printf("saving\n");
- }
- void quit(GtkWidget *quit_item,gpointer data)
- {
- printf("quiting\n");
- }
- int main(int argc,char *argv[])
- {
- GtkWidget *window;
- GtkWidget *open_item,*save_item,*quit_item,*file_item;
- GtkWidget *file_menu;
- GtkWidget *menu_bar;
- GtkWidget *vbox;
- gtk_init(&argc,&argv);
- window=gtk_window_new(GTK_WINDOW_TOPLEVEL);
- gtk_window_set_default_size(GTK_WINDOW(window),300,200);
- gtk_window_set_position(GTK_WINDOW(window),GTK_WIN_POS_CENTER);
- g_signal_connect(GTK_OBJECT(window),"destroy",GTK_SIGNAL_FUNC(closeApp),NULL);
- //下面是创建子菜单的三个选项:open,save,quit;
- open_item=gtk_menu_item_new_with_label("Open");
- save_item=gtk_menu_item_new_with_label("Save");
- quit_item=gtk_menu_item_new_with_label("Quit");
-
- file_menu=gtk_menu_new();//open,save,quit都要放在file_menu中;
- file_item=gtk_menu_item_new_with_label("File");//file_item用于存放file_menu;
- menu_bar=gtk_menu_bar_new();//即创建一个工具栏,把file_item放在上面
- vbox=gtk_vbox_new(FALSE,0);//这个vbox嘛用于存放工具栏,主要作用是排版
- g_signal_connect(GTK_OBJECT(open_item),"activate",GTK_SIGNAL_FUNC(open_file),"open_file");
- g_signal_connect(GTK_OBJECT(save_item),"activate",GTK_SIGNAL_FUNC(save),"save");
- g_signal_connect(GTK_OBJECT(quit_item),"activate",GTK_SIGNAL_FUNC(quit),"quit");
-
- //将open_item,save_item,quit_item放在file_menu上面
- gtk_menu_shell_append(GTK_MENU_SHELL(file_menu),open_item);
- gtk_menu_shell_append(GTK_MENU_SHELL(file_menu),save_item);
- gtk_menu_shell_append(GTK_MENU_SHELL(file_menu),quit_item);
- //设置子菜单,把file_menu设为file_item的子菜单
- gtk_menu_item_set_submenu(GTK_MENU_ITEM(file_item),file_menu);
- //把file_item放在menu_bar上面
- gtk_menu_bar_append(GTK_MENU_BAR(menu_bar),file_item);
- //把menu_bar放在vbox上
- gtk_box_pack_start(GTK_BOX(vbox),menu_bar,FALSE,FALSE,5);
- //最后,把vbox放在window上,并且显示window和window上所有的构件
- gtk_container_add(GTK_CONTAINER(window),vbox);
- gtk_widget_show_all(window);
- gtk_main();
- return 0;
- }
a menu item:是菜单中的选项,比如上面程序中的save_item.
a menu:是个容器,容纳menu items
a menubar:这是个容器,放置各个独立的menus
函数原型:
1: menubar:
GtkWidget *gtk_menu_bar_new(void);
英文手册上面有这样的一句话,我觉得我该写下来:
This rather self explanatory function create a new menubar.You use gtk_container_add() to pack this into a window,or the box_pack functions to pack into a box - the same as buttons.这个比较容易理解,就不解释了.
2: menu:
GtkWidget *gtk_menu_new(void);
menu我们是看不到的,它只是个存放menu items的容器.
3: menu items:
GtkWidget *gtk_menu_item_new(void);
GtkWidget *gtk_menu_item_new_with_label(const char *label);
GtkWidget *gtk_menu_item_new_with_mnemonic(const char *label);
menu item是一个和实际操作相关的按钮,它必须停放在menu上面
0
上一篇:vim 配置
下一篇:学习单片机技术五周年
相关热门文章
- test123
- 编写安全代码——小心有符号数...
- 使用openssl api进行加密解密...
- 一段自己打印自己的c程序...
- sql relay的c++接口
- IBM DS3400 盘阵怎么查看是单...
- 启动auditd时,报错如下,怎么...
- CGSL系统中root密码正确,但无...
- 在CGSL系统中,如何为不同的用...
- CGSL系统如何设置交换分区的大...
给主人留下些什么吧!~~
评论热议
0 0
- GTK(三) 菜单
- Gtk+/Glade编程(三) 菜单和工具栏
- Gtk /Glade编程(三) 菜单和工具栏
- GTK 菜单 快捷键
- GTK 菜单控件
- GTK+中菜单控件使用说明
- Chrome GTK菜单构建过程
- GTK编程基础----菜单选项
- gtk/glade程序开发(三)
- gtk/glade程序开发(三)
- gtk/glade程序开发(三)
- GTK中的菜单分隔符控件
- GTK+-3.0编程 (七) 菜单的创建
- 菜单构件/手工创建菜单@GTK+ 2.0 中文教程连载
- easy教程Gtk+之GTK Gossip: GtkHBox 与 GtkVBox(三)
- linux gtk IDE 程序设计(三)
- GTK、GDK、GLIB三者的关系
- GTK、GDK、GLIB三者的关系
- 判断是不是LL1文法
- GUI 主循环设计及其在 MiniGUI, GTK, QT 的实现
- (1.2.3.4····)
- shell实现了一个进度条
- vim 配置
- GTK(三) 菜单
- 学习单片机技术五周年
- 我理解的逻辑地址、线性地址、物理地址和虚拟地址(补充完整了)
- Linux系统核心源程序的文件组织结构
- 设计模式-工厂模式
- QT
- IPC 三种通信机制
- linux多文件编译方法
- Linux常见命令的列表
原创粉丝点击
热门IT博客
热门问题
老师的惩罚
人脸识别
我在镇武司摸鱼那些年
重生之率土为王
我在大康的咸鱼生活
盘龙之生命进化
天生仙种
凡人之先天五行
春回大明朝
姑娘不必设防,我是瞎子
散人传说
明教五散人
散人一键调烟雾头
辛亥大英雄河马散人
逍遥小散仙
旁门散仙
逍遥散仙
散仙
旁门散仙十三滴水
超级散仙
混世散仙
散修成仙
想不想修真散仙攻略
逍遥小散仙迷男
散仙世界
异界修真散仙
蜀山之旁门散仙
散仙在异界
混沌散仙
异界之绝世散仙
逍遥小散仙txt
超级散仙在都市
海贼之绝世散仙
散仙难为
想不想修真散仙
超级散仙在异世
周建龙为什么叫散仙
打火机散件
led灯散件
电子散件组装外发加工
led灯散件批发厂家
打火机散件批发
led灯散件批发
散佚是什么意思
角膜塑形镜 散光
近视 散光 配镜
散光50度
散光会加深吗
眼睛闪光是什么症状
眼睛闪光感的具体表现
散光度数会增加吗