gtk+20杂项构件2

gtk+20杂项构件2

ID:34461518

大小:250.00 KB

页数:20页

时间:2019-03-06

gtk+20杂项构件2_第1页
gtk+20杂项构件2_第2页
gtk+20杂项构件2_第3页
gtk+20杂项构件2_第4页
gtk+20杂项构件2_第5页
资源描述:

《gtk+20杂项构件2》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、GTK+2.0-----杂项构件(2)GTK+2.02008-12-1312:51:20阅读386评论0  字号:大中小 订阅 组合框GtkComboGtkCombo(组合框)是极为常见的构件,实际上它仅仅是其他构件的集合。从用户的观点来说,这个构件是由一个文本输入构件和一个下拉菜单组成的,用户可以从一个预先定义的列表里面选择一个选项,同时,用户也可以直接在文本框里面输入文本。下面是从定义组合框构件的结构里面摘取出来的,从中可以看到组合框构件是由什么构件组合形成的:struct_GtkComboGtkHBoxhbox;GtkWidget*entry

2、;GtkWidget*button;GtkWidget*popup;GtkWidget*popwin;GtkWidget*list;...};可以看到,组合框构件有两个主要部分:一个输入框和一个列表。用下面的函数创建组合框构件:GtkWidget*gtk_combo_new(void);现在,如果想设置显示在输入框部分中的字符串,可以直接操纵组合框构件内部的文本输入构件:gtk_entry_set_text(GTK_ENTRY(GTK_COMBO(combo)->entry),"MyString.");要设置下拉列表中的值,可以使用下面的函数:vo

3、idgtk_combo_set_popdown_strings(GtkCombo*combo,GList*strings);在使用这个函数之前,先得将要添加的字符串组合成一个GList链表。Glist是一个双向链表,是Glib的一部分。要做的就是设置一个Glist指针,其值设为NULL,然后用下面的函数将字符串追加到链表当中:GList*g_list_append(GList*glist,gpointerdata);要注意的是:一定要将Glist链表的初值设为NULL,必须将g_list_append函数返回的值赋给要操作的链表本身。下面是一段典型

4、的代码,用于创建一个选项列表:GList*glist=NULL;glist=g_list_append(glist,"String1");glist=g_list_append(glist,"String2");glist=g_list_append(glist,"String3");glist=g_list_append(glist,"String4");gtk_combo_set_popdown_strings(GTK_COMBO(combo),glist);到这里为止,你现在已经可以使用设置的组合框构件了。有几个行为是可以改变的。下面是相关的

5、函数:voidgtk_combo_set_use_arrows(GtkCombo*combo,gintval);voidgtk_combo_set_use_arrows_always(GtkCombo*combo,gintval);voidgtk_combo_set_case_sensitive(GtkCombo*combo,gintval);gtk_combo_set_use_arrows()让用户用上/下方向键改变文本输入构件内的值。这并没有改变列表的值,只是用列表中的下一个列表项替换了文本输入框中的文本(向上则取上一个值,向下则取下一个值)。

6、这是通过搜索当前项在列表中的位置并选择前一项/下一项来实现的。通常,在一个输入框中方向键是用来改变焦点的(也可以用TAB键)。注意,如果当前项是列表的最后一项,按向下的方向键会改变焦点的位置(这对列表在第一项时按向上方向键也适用)。如果当前值并不在列表中,则不能使用gtk_combo_set_use_arrows()函数。同样地,gtk_combo_set_use_arrows_always()允许使用上/下方向键在下拉列表中选取列表项,但是它在列表项中循环,也就是当列表项位于第一个表项时按向上方向键,会跳到最后一个,当列表项位于最后一个表项时按向

7、下方向键,会跳到第一个。这样可以完全禁止使用方向键改变焦点。gtk_combo_set_case_sensitive()函数切换GTK是否以大小写敏感的方式搜索其中的列表项。这一般用在内部文本输入构件中的文本查找组合框构件中的列表值。可以将其设置为大小写敏感或不敏感。如果用户同时按下“Alt”和“Tab”键,组合框构件还可以用来完成当前输入。注意,窗口管理器也要使用这种组合键方式,将会忽略GTK中这个组合键的使用。注意,我们使用的是组合框构件,它能够为我们从一个下拉列表中选择一个选项。这一点是很直截了当的。大多数时候,你可能很关心怎样从其中的文本输

8、入构件中获取数据。组合框构件内部的文本输入构件可以用GTK_ENTRY(GTK_COMBO(combo)->entry)访

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。