gpt4 book ai didi

python - 如何自动滚动 gtk.scrolledwindow?

转载 作者:IT老高 更新时间:2023-10-28 20:59:45 27 4
gpt4 key购买 nike

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

if new_line_in_row:
adj = self.scrolled_window.get_vadjustment()
adj.set_value( adj.upper - adj.page_size )

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

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

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

最佳答案

在扩大搜索范围后,我找到了与 ruby​​ 相关的答案。由于这个问题是 gtk 相关的,它应该可以用任何语言来解决,像这样:

您将更改的小部件(在我的情况下为 TreeView )与 gtk.widget 的 'size-allocate' 信号连接,并将 gtk.scrolledwindow 值设置为“上 - page_size”。示例:

self.treeview.connect('size-allocate', self.treeview_changed)

...

def treeview_changed(self, widget, event, data=None):
adj = self.scrolled_window.get_vadjustment()
adj.set_value( adj.upper - adj.page_size )

链接到 ruby​​-forum.com 上的原始帖子:

hint hint

关于python - 如何自动滚动 gtk.scrolledwindow?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5218948/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com