所以我有一个简单的树视图,有一些可扩展的子树,以及一个用于选择更改的监听器:
ttk::treeview .tree
pack .tree -expand 1 -fill both
.tree tag configure disabled -foreground grey
.tree tag bind all <<TreeviewSelect>> "puts selected"
set node [.tree insert {} end -text "Node 0" -tags all]
.tree insert $node end -text "A" -tags "all"
.tree insert $node end -text "B" -tags "all"
.tree insert $node end -text "C" -tags "all"
set node [.tree insert {} end -text "Node 1" -tags all -open 1]
.tree insert $node end -text "X" -tags "all"
.tree insert $node end -text "Y" -tags "all"
.tree insert $node end -text "Z" -tags "all"
似乎tcl / tk将自动(de)选择子树节点("Node 0" resp "Node 1")并调用 <<TreeviewSelect>>
监听器,如果用户尝试展开/折叠子树(通过单击节点元素左侧的Expander图标) .
有没有办法允许子树的扩展/调整而不同时选择项目?
我的开发平台是Tcl / Tk-8.6(在Debian / stretch上),但任何解决方案都应该跨平台工作 .
1 回答
像这样的东西有效 .