linux应用程序开发指南之21-12.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
linux应用程序开发指南之21-12

下载 第12章 树 构 件 树构件一般用于显示分层结构的数据。树构件本身是 G t k Tr e e I t e m构件类型的垂直容器。 树构件本身和分栏列表构件( G t k C L i s t )差别并不大:它们都是由容器构件派生而来的,其 中与容器相关的函数在树构件和分栏列表构件中同样起作用。差别在于树构件可以嵌套另外 的树构件。下面简要介绍怎么使用树构件。 树构件有自己的X 窗口,缺省情况下是白色的背景。还有,绝大多数树的函数与分栏列表 的函数工作方法是一样的。然而,树构件并不是从分栏列表构件派生而来的,因此,这些函 数不可以互换。 12.1 创建新树构件 用下面函数创建树构件: 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 ( )等价的函数。 12.1.1 添加一个子树 子树与树构件的创建方法类似。子树要加到一个树构件的树项下面,使用以下函数: 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 ),而是树项所在的 树。 当将子树添加到树项时,一个“+”或“-”符号会出现在旁边,用户可以点击它“展 开”或“折叠”子树─也就是显示或隐藏子树。缺省状态树项是折叠起来的。 注意,在折 叠树项时,所有子树的选中状态仍然保持原有状态,这可能是用户不希望看到的。 第1 2章 树 构 件使用205 下载 12.1.2 处理选中的列表 与分栏列表构件 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 _

文档评论(0)

yan698698 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档