所以我有一些标签(用户制作的字符串),它们始终显示在文本小部件中。基本上,如果有要显示的标签,则需要能够三次单击它们,这将导致进入编辑菜单。但是,如果没有要显示的标签,我不希望人们能够三次单击它。
所以我的想法是,如果要显示标签,则将三次单击绑定到适当的功能,如果没有要显示的标签,则取消绑定。
for tag in sorted(tags_pre_listed):#This loop will just check the tags and OK them for use.
if tag[0:4]=='TAG-' and tag not in used_tags: # Just avoids duplicates.
tags_display_box.insert(Tk.END, '#'+tag[4:]+' ') #inserts the tag to the display.
used_tags.append(tag)
if len(used_tags)>0: #If any tags were used to display, it will bind Triple click.
tags_display_box.bind("<Triple-1>", delete_tag)
else: #This is where it tries to unbind if there are no tags, but fails.
tags_display_box.unbind('<Button-1>',"<Triple-1>")
我遇到的问题是
TclError: can't delete Tcl command
对不起,这可能是我所知道的所有菜鸟答案,但我已经完成了研究,而且根本无法找到解决方法
非常感谢您的阅读和任何建议!
答案 0 :(得分:2)
该行:
tags_display_box.unbind('<Button 1>',"<Triple-1>")
应为:
tags_display_box.unbind('<Triple-1>')
在这种情况下,您正在尝试解除绑定与不存在的命令绑定的内容。