Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何使用键盘获取tkinter treeview选定的行值?_Python_Python 3.x_Tkinter_Treeview_Key Bindings - Fatal编程技术网

Python 如何使用键盘获取tkinter treeview选定的行值?

Python 如何使用键盘获取tkinter treeview选定的行值?,python,python-3.x,tkinter,treeview,key-bindings,Python,Python 3.x,Tkinter,Treeview,Key Bindings,基于,我能够在鼠标释放时为每一行获取正确的单元格值,并将该事件绑定到selectItem函数,如这里所述 def selectItem(self, event): curItem = self.tree.focus() print(curItem) 我还尝试为上/下键添加键盘绑定,但没有得到实际选定的行 self.tree.bind('<ButtonRelease-1>', self.selectItem) enter code here`self.tree.bin

基于,我能够在鼠标释放时为每一行获取正确的单元格值,并将该事件绑定到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) 

相反,当我按下向上或向下键时,selectItem功能会打印上一个选定的项目。我的意思是,如果我选择了第3行并按下向上键,我仍然会得到第3行,但我想要的是得到第2行。如果我按下向下键,我想要第4行,但我仍然得到第3行的内容。但是,蓝色行选择颜色正在正确更新。计算机似乎是以某种方式开始读取当前选定的位置,然后向上或向下移动。但我希望它先移动选择,然后只读取当前位置。实现这一点的最佳方法是什么?

您可以改为绑定。绑定到将允许您在设置treeview的选择后获取项目。否则,绑定到widgets与widgets类上的绑定可以相互覆盖。

您可以改为绑定。绑定到将允许您在设置treeview的选择后获取项目。否则,绑定到widgets与widgets类上的绑定可以相互覆盖。

就是这样!耶!我刚刚将绑定更改为,现在它按预期工作!:-就这样!耶!我刚刚将绑定更改为,现在它按预期工作!:-