我对python和编程很新,但我只是设法使用我认为雄心勃勃的for循环创建树视图。这个想法是列表中的每个项目代表一个带有一个方法的类,该方法应该在单击项目时生成。现在的事情是,这个函数在创建树时往往会运行,但是当点击该项时没有任何反应。
代码:
for i in range(0,len(iclass.OPS)):
jclass = iclass.OPS[i]
childID = "%s-%s" % (parentID, child_count)
self.tree.insert(parentID, 'end', childID, text = jclass.treeID)
self.tree.tag_bind(childID, '<Double-1>', jclass.tree_func() )
self.populate_tree(childID, jclass)
child_count += 1
有问题的tree_func是在实际类中定义的:
def tree_func(self, event):
print "hi!"
例如...... 看不出是什么问题。我已经用列表框做了类似的事情并且有效。 在此先感谢您的帮助!
答案 0 :(得分:1)
你需要传递callable本身,而不是调用它的结果。
awsm.json
答案 1 :(得分:1)
我实际上最终让它运行了,但这并不仅仅因为()它没有起作用。忘记提到我试过两个。诀窍在于我通过写:
将标签提供给我的树对象self.tree.insert(parentID, 'end', tags = childID, text = jclass.treeID)
而不仅仅是
self.tree.insert(parentID, 'end', childID, text = jclass.treeID)