Chinaunix首页 | 论坛 | 博客
  • 博客访问: 183958
  • 博文数量: 40
  • 博客积分: 2036
  • 博客等级: 大尉
  • 技术积分: 430
  • 用 户 组: 普通用户
  • 注册时间: 2009-04-12 22:39
文章分类

全部博文(40)

文章存档

2013年(3)

2012年(1)

2011年(18)

2010年(18)

分类:

2010-06-25 11:20:20

记录一下阶段性成果.
动态加载GtkTreeView项即当点击三角符号的时候,在展开子列表之前动态创建子列表。
这样做的好处是什么,当然大大的有了。试想,又几万条项的Tree,把它加载进GtkTreeView,是需要不少内存空间和时间的,给用户的体验也不会好。
其实,这一技术的实现又三个关键点:
Q1,如何让有子列表的项之前出现三角符号。
Q2,如何判断树中某一项的子列表项已经加载进去。
Q3,采用哪一个信号。

A1:在动态加载项的时候,先到数据库或其他存放树文件的地方读取,并判断是否又子项,若有,加进一个空的项,在展开项时,删掉就可以。
A2:我采用的是在GtkTreeStore中加入一列APP_USED_COLUMN的方法,类型是gboolen,默认是置FALSE。当子项都加载了后,置TRUE.
A3:靠,我在文档里看了看,猜着试的,采用"test-expand-row"信号。注意在其回调函数的末尾返回FALSE,否则不能展开三角符号。
阅读(1430) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~