我一直在寻找一个treeView小部件选项,我可以通过单击它一次只选择一行,然后再次单击它取消选择它。我找到了如何制作它,以便您一次只能选择一行,但我无法找到允许您单击所选行以取消选择它的选项。
有谁知道如何做到这一点?任何帮助将不胜感激。
答案 0 :(得分:1)
您可以设置自定义绑定以取消选择当前选中的项目。如果绑定返回字符串break
,它将停止事件传播,从而阻止双击的默认行为。
...
self.tree = ttk.Treeview(...)
self.tree.bind("<1>", self.on_click)
...
def on_click(self, event):
selection = self.tree.selection()
item = self.tree.select_row(event.y)
if item in selection:
self.tree.selection_remove(item)
return "break"
答案 1 :(得分:0)
Unfortunately,切换树视图项目选择状态的唯一内置模式是选择一个不同的项目,但你可以自己做一个黑客。