使用绑定键将焦点和选择从 tk 条目移动到 ttk 树视图

问题描述

我想使用绑定键将焦点和选择从 tk 条目更改为 ttk 树视图部分。

enter image description here

上图,当前光标和焦点在入口部分,想将焦点和选择移动到ttk树视图部分

    def treeview_focus(self,event):

    child_id = self.tree.get_children()[-1]
    
    self.tree.focus(child_id)
    self.tree.selection_set(child_id)
    self.tree.selection_add(child_id)

使用焦点,选择方法,我可以在树视图中突出显示特定的项目列表,但我无法通过键盘上的上下键移动项目列表,因为光标仍在输入中。

如果我用鼠标直接单击树视图中的项目列表,我可以用键盘上下移动列表。

我的问题是如何聚焦树视图部分并使用键盘在不单击鼠标的情况下选择树视图部分中的项目。

解决方法

我发现了问题所在。

应该首先使用 focus_set() 方法来选择和聚焦整个树视图

self.tree.focus_set()
self.tree.focus(child_id)

上面的序列,我可以选择树视图的最后一个项目,可以用我的键盘移动列表