首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何自动滚动gtk.scrolledwindow?

如何自动滚动gtk.scrolledwindow?
EN

Stack Overflow用户
提问于 2011-03-07 19:11:18
回答 6查看 9.9K关注 0票数 20

我在ScrolledWindow中有一个treeview-widget,它是在运行时填充的。我想让ScrolledWindow自动滚动到列表的末尾。我通过调整ScrolledWindowvadjustment,每次在树视图中插入一行,“解决”了这个问题。例如:

代码语言:javascript
复制
if new_line_in_row:
   adj = self.scrolled_window.get_vadjustment()
   adj.set_value( adj.upper - adj.page_size )

如果我在交互式ipython会话中运行代码并自己设置值,一切都会按预期运行。

如果我使用默认的python解释器运行代码,自动滚动并不总是有效的。我调试了代码,问题似乎是,调整值有某种“滞后”,只有在一段时间后才会改变。

我的问题是:如何可靠地滚动到ScrolledWindow的最大位置?是否生成了可以使用的特殊信号?或者有没有更好的方法来设置adjustment-value

EN

Stack Overflow用户

发布于 2022-02-18 20:45:28

建议的解决方案对我来说都不起作用,但我能够获得所需的行为(使用Go的GTk4绑定):

代码语言:javascript
复制
adj := scrolledWindow.VAdjustment()
adj.SetUpper(adj.Upper() + adj.PageSize())
adj.SetValue(adj.Upper())

其他解决方案将滚动窗口(我的包含一个列表框)向下移动到倒数第二项,但不显示最后一项。它的行为方式让我认为上限需要增加,所以我尝试通过页面大小增加它,然后将滚动值设置为新的上限。

票数 0
EN
查看全部 6 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5218948

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档