tkinter Treeview 所选项目的点击事件

Nur*_*bek 2 python treeview user-interface tkinter python-3.x

在我的小型 tkinter 应用程序中,我的树具有如下图所示的结构。我只想在用户双击树的最后一个项目(Amount1 或 Amount2 等)时才创建单击事件。不幸的是,当我单击树的任何项目时,单击事件会起作用。如何纠正这种行为?

代码:

self.treeView.insert('', 'end', "parent", text=text)

first_child = self.treeView.insert("parent", 'end', text=text)

second_child = self.treeView
second_child.insert(first_child, 'end', "", text=text)
second_child.bind("<Double-1>", self.OnDoubleClick)

def OnDoubleClick(self, event):
    item = second_child.identify('item', event.x, event.y)
    print("you clicked on", second_child.item(item, "text"))
Run Code Online (Sandbox Code Playgroud)

树的结构:

在此输入图像描述

小智 6

https://anzeljg.github.io/rin2/book2/2405/docs/tkinter/ttk-Treeview-events.html

\n

Treeview 小部件中的某些状态更改会生成虚拟事件,您可以使用这些事件来响应这些更改;请参见第 54.8 节,\xe2\x80\x9c虚拟事件\xe2\x80\x9d。

\n
\n

每当选择发生变化时,无论是项目被选中还是未被选中,小部件都会生成 \xe2\x80\x9c<<TreeviewSelect>>\xe2\x80\x9d 事件。

\n

每当打开一个项目时,小部件都会生成 \xe2\x80\x9c<<TreeviewOpen>>\xe2\x80\x9d 事件。

\n

每当关闭某个项目时,小部件都会生成 \xe2\x80\x9c<<TreeviewClose>>\xe2\x80\x9d 事件。

\n
\n