如何在没有鼠标的情况下使用键盘在树视图中选择数据

问题描述

首先,当我的光标在输入框 (entryBox.focus()) 中时,我想使用键盘上的 F4 键 (GUI.bind('<F4>',directselection)) 直接选择树视图中的第一个数据,而不是使用鼠标.

我不知道要创建该函数。我正在尝试使用

def directselection(event = None):
    treeviewtable.focus()

但它不起作用。

解决方法

使用 .get_children() 获取行 ID 列表,然后使用 .selection_set() 选择第一行:

def directselection(event=None):
    # get all row IDs
    idlist = treeviewtable.get_children()
    if idlist:
        # select and focus on first row
        treeviewtable.selection_set(idlist[0])
        treeviewtable.focus(idlist[0])
        # transfer keyboard focus to treeviewtable
        treeviewtable.focus_force()