- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
GTK+2.0-----树构件
GTK+2.0 2008-12-13 15:05:02 阅读112 评论0 ??字号:大中小?订阅
?????? 树构件一般用于显示分层结构的数据。树构件本身是G t k Tr e e I t e m构件类型的垂直容器。树构件本身和分栏列表构件( G t k C L i s t)差别并不大:它们都是由容器构件派生而来的,其中与容器相关的函数在树构件和分栏列表构件中同样起作用。差别在于树构件可以嵌套另外的树构件。下面简要介绍怎么使用树构件。?????? 树构件有自己的X窗口,缺省情况下是白色的背景。还有,绝大多数树的函数与分栏列表的函数工作方法是一样的。然而,树构件并不是从分栏列表构件派生而来的,因此,这些函数不可以互换。
创建新树构件用下面函数创建树构件:GtkWidget *gtk_tree_new( void );????? 像分栏列表构件一样,当项目添加到树构件时,或当子树扩展时,树构件会自动扩展。因为这个原因,所以需要将树构件组装到一个滚动窗口构件中。滚动窗口构件的缺省尺寸是很小的,因此一般对滚动窗口要用g t k _ w i d g e t _ s e t _ u s i z e ( )函数设置它的缺省尺寸,以保证树构件足够大,可以看到其中的项目。????? 有了树构件后,就可以向其中添加项目了。现在,我们先介绍怎样创建树项构件:GtkWidget *gtk_tree_item_new_with_label( gchar *label );现在可以用下面的函数将树项构件添加到树构件中了:void gtk_tree_append( GtkTree *tree,GtkWidget *tree_item );void gtk_tree_prepend( GtkTree *tree,GtkWidget *tree_item );注意,必须一次将全部树项添加到树构件中。没有与g t k _ l i s t _ * _ i t e m s ( )等价的函数。添加一个子树子树与树构件的创建方法类似。子树要加到一个树构件的树项下面,使用以下函数:void gtk_tree_item_set_subtree( GtkTreeItem *tree_item,GtkWidget *subtree );在子树添加到一个树项之前或之后都不需要对子树调用g t k _ w i d g e t _ s h o w ( )函数。然而,在调用g t k _ t r e e _ i t e m _ s e t _ s u b t r e e ( )之前,必须将树项添加到一棵父树上。这是因为:从技术上来说,子树的父树并不是拥有它的树项构件( G t k Tr e e I t e m),而是树项所在的树。当将子树添加到树项时,一个“+”或“-”符号会出现在旁边,用户可以点击它“展开”或“折叠”子树─也就是显示或隐藏子树。缺省状态树项是折叠起来的。注意,在折叠树项时,所有子树的选中状态仍然保持原有状态,这可能是用户不希望看到的。处理选中的列表与分栏列表构件G t k C L i s t一样,树构件类型也有一个选择域。可以用下面的函数设置选择模式以控制树构件的行为:void gtk_tree_set_selection_mode( GtkTree *tree,GtkSelectionMode mode );与各种选择模式相关的语义在分栏列表构件G t k C L i s t中有详细的介绍。与G t k C L i s t构件一样,当选择列表项或取消选择时,会引发s e l e c t _ c h i l d、u n s e l e c t _ c h i l d、和s e l e c t i o n _ c h a n g e d信号。然而,要使用这些信号,需要知道树构件怎样引发信号,以及如何查找选中的列表项。所有的树构件都有自己的X窗口,它们能够接受事件,例如鼠标点击。然而,要让树构件的选择类型为G T K _ S E L E C T I O N _ S I N G L E和G T K _ S E L E C T I O N _ B R O W S E的树能够正常动作,选中项的列表必须是针对树构件层次上最顶层的(也就是所谓的“根”树)。因而,除非你已经知道它是“根”树,否则,直接访问任意一个树构件的选择状态并不是什么好主意。应该使用GTK_TREE_SELECTION (Tr e e )宏,它将给出一个指向“根”树的选择列表的指针。当然,如果选择模式是G T K _ S E L E C T I O N _ M U LT I P L E(可以多选),这个选择列表也包含了其他不在所涉及
您可能关注的文档
- 第六章 chap 8文件系统.ppt
- 第六章 Cisco Unity Connection 电话介面使用者指南.pdf
- 第六章 CT150中文手册.pdf
- 第六章 EP-HV12&EP-MA12模拟量测试模块使用说明书V1.0.pdf
- “继续加强安全生产工作“总结幻灯片.pptx
- 第六章 EPSON TM-T81 网络打印机驱动使用手册.doc
- “使用后评价”(POE)方法与其在景观设计中的应用.ppt
- “网络发现”提高Windwos7客户端的安全副本.doc
- 第六章 ET200S电机起动器使用.pdf
- 第六章 FPGA考试.doc
- 人教版九年级英语全一册单元速记•巧练Unit13【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit9【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit11【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit14【单元测试·提升卷】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit8【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit4【单元测试·提升卷】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit13【单元测试·基础卷】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit7【速记清单】(原卷版+解析).docx
- 苏教版五年级上册数学分层作业设计 2.2 三角形的面积(附答案).docx
- 人教版九年级英语全一册单元速记•巧练Unit12【单元测试·基础卷】(原卷版+解析).docx
文档评论(0)