在这个示例程序中,我可以获得各种信息,但是有一种简单的方法可以知道被点击的行的id
吗?
#! /usr/bin/env wish
ttk::treeview .tree -selectmode none
.tree tag bind clickable <ButtonRelease> {
puts "%W %X %Y %K %b %d %A %K"
}
.tree configure -height 2
.tree insert {} end -id A -text A -tags clickable
.tree insert {} end -id B -text B -tags clickable
pack .tree
输出:
$ ./row-click.tcl
.tree 894 407 ?? 1 ?? ?? ??
.tree 894 407 ?? 1 ?? ?? ??
.tree 893 431 ?? 1 ?? ?? ??
答案 0 :(得分:2)
命令.tree identify item $x $y
其中$x
和$y
就是坐标。在绑定脚本中,树名最好指定为%W
,坐标为%x
和%y
(与小部件本身相关的坐标):
#! /usr/bin/env wish
ttk::treeview .tree -selectmode none
.tree tag bind clickable <ButtonRelease> {
puts [%W identify item %x %y]
}
.tree configure -height 2
.tree insert {} end -id A -text A -tags clickable
.tree insert {} end -id B -text B -tags clickable
pack .tree