LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 884|回复: 5

GtkTreeView如何与GtkAdjustment关联呢?

[复制链接]
发表于 2008-8-4 14:36:32 | 显示全部楼层 |阅读模式
问题是这样的,有一个GtkTreeView, 里面内容有很多,超过一页,那么它会自动显示出右边的GtkAdjustment。

程序里需要自动定位到GtkTreeView中的某一行,按照GtkAdjust的lower和upper,然后根据GtkTreeView的pathidx占总行数,算出GtkAdjust的value,然后 gtk_adjust_set_value(), 值是设过去了,adjust的位置也改变了,但是GtkTreeView的内容仍旧没有改变。

不知道这里应该怎么样做?
谢谢大家!
发表于 2008-8-4 14:49:45 | 显示全部楼层
gtk reference 中似乎有这样的接口 (gtk+-2.12.p)

gtk_tree_view_scroll_to_point
gtk_tree_view_scroll_to_cell
gtk_tree_view_set_cursor
gtk_tree_view_set_cursor_on_cell

不知道有没有 jetking 兄需要的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-8-4 22:44:32 | 显示全部楼层
谢谢楼上的,明天试验一下。
后来发现用gtk_adjuestment_value_change()在value改变后调用可以使GtkTreeView的内容改变。
回复 支持 反对

使用道具 举报

发表于 2008-8-5 09:13:43 | 显示全部楼层
果然. 帮 jetking 兄把此函数的文档帖出来, 以备后人查阅

  1. void                gtk_adjustment_value_changed        (GtkAdjustment *adjustment);

  2. Emits a "value_changed" signal from the GtkAdjustment.
  3. This is typically called by the owner of the GtkAdjustment after it has changed the GtkAdjustment value field.

  4. adjustment : a GtkAdjustment

  5. Property Details

  6. The "lower" property

  7.   "lower"                    gdouble               : Read / Write

  8. The minimum value of the adjustment.

  9. Default value: 0

  10. Since 2.4

复制代码
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-8-5 22:58:39 | 显示全部楼层
楼上辛苦了。
其实不用操作adjustment这么麻烦,用楼上提过的"gtk_tree_view_scroll_to_cell()"就可以了!
回复 支持 反对

使用道具 举报

发表于 2008-8-6 09:11:14 | 显示全部楼层
多谢 jetking 兄进行验证
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表