我在Python 3.7 / Tkinter项目中有一个树状视图。程序运行时,我可能需要根据用户输入添加一个新项目。这很好。我遇到问题的地方是尝试向新创建的行添加弹出菜单。这是一个片段:
parent_id = self.tree.insert('', 'end', user_input, text='New Entry', values='')
item = self.tree.item(parent_id)
row = self.tree.selection_set(item)
popup_menu = tkinter.Menu(self.master, tearoff=false)
popup_menu.selection = self.tree.selection_set(row)
popup_menu.add_command(command=self.myfunction, label='Do Something'
运行此命令时发生的情况是我在第三行出现错误:“菜单问题Item {'text':'New entry','image':'','values':'' ,“打开”:0,“标签”:''}找不到
我尝试了几种不同的方法来执行此操作,但是对于为什么它无法找到刚刚插入的行表示困惑。如何成功选择新插入的行(而不是查找选定的行)?我已经使用self.tree.exists(parent_id)进行了测试,并将其插入。而且,我可以直观地看到树中的行。