PyGObject 向子 TreeView 添加行后滚动到 ScrolledWindow() 的底部

PyGObject Scroll to bottom of ScrolledWindow() after adding row to child TreeView

提问人:pingin 提问时间:8/21/2023 最后编辑:pingin 更新时间:8/22/2023 访问量:27

问:

我正在构建一个 GUI 程序,该程序具有一个“历史记录”,该列表由一个扩展列表组成,其中包含每个操作的文本条目。我使用 TreeView 显示它,其模型在每次历史记录更新时都会更新。这部分有效。

我希望历史记录列表滚动到底部,以便在每次添加条目时显示最近添加的条目。这是当前代码:

def update_history(self, command):
    self.history.append([command])  # self.history is the ListStore model

    self.history_list.show_all()    # self.history_list is the TreeView object

    adj = self.scrollbox.get_vadjustment()
    adj.set_value(adj.get_property('upper'))
    self.scrollbox.set_vadjustment(adj) # self.history_list is a child of self.scrollbox

问题是此代码将窗口滚动到底部,然后树视图呈现新条目,因此我们实际上不是滚动到底部,而是滚动到之前的条目。

这几乎是 Can't scroll 到 TreeView PyGTK / GTK 末尾的副本,但是该线程已有 12 年的历史并且已经屈服于 linkrot。

Gtk版本:3.24.34 PyGObject版本:3.42.2

蟒蛇 gtk pygtk 侏儒 pygobject

评论


答: 暂无答案