所选项目的tkinter treeview点击事件

时间:2016-11-10 17:38:19

标签: python python-3.x user-interface tkinter treeview

在我的小型tkinter应用程序中,我的树有如下图所示的结构。 我想仅在用户双击到树的最后一项(Amount1或Amount2等)时才进行点击事件。当我点击树的任何项目时,不幸地点击事件。如何解决这个问题?!

CODE:

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"))

树的结构:

enter image description here

1 个答案:

答案 0 :(得分:1)

http://infohost.nmt.edu/tcc/help/pubs/tkinter/web/ttk-Treeview-events.html

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

  

只要选择发生更改(无论是通过选择项还是未选择项),小部件都会生成“ << TreeviewSelect >>”事件。

     

每当打开一个项目时,小部件都会生成一个“ << TreeviewOpen >>”事件。

     

每当关闭一个项目时,小部件都会生成一个“ << TreeviewClose >>”事件。