【发布时间】:2016-04-24 00:16:32
【问题描述】:
基于answer to a previous question from another user,我能够在鼠标释放时为每一行获取正确的单元格值,并将该事件绑定到那里所述的 selectItem() 函数。
def selectItem(self, event):
curItem = self.tree.focus()
print(curItem)
我还尝试为向上/向下键添加键盘绑定,但没有得到实际选定的行。
self.tree.bind('<ButtonRelease-1>', self.selectItem)
enter code here`self.tree.bind('<Up>', self.selectItem)
self.tree.bind('<Down>', self.selectItem)
相反,当我按下 Up 或 Down 时,selectItem 函数正在打印 previous 选定的项目。我的意思是,如果我选择了第 3 行并按下 Up 键,我仍然会得到第 3 行,但我想要的是得到第 2 行。如果我按下 Down 键,我想要第 4 行,但我仍然得到的内容第 3 行。但是,蓝色行选择颜色正在正确更新。似乎计算机以某种方式开始“读取”当前选定的位置,然后向上或向下移动。但我希望它首先移动选择,然后只“读取”当前位置。完成此任务的最佳方法是什么?
【问题讨论】:
标签: python python-3.x tkinter treeview key-bindings