有没有一种简单的方法来遍历 Tcl/Tk 的项目,ttk::treview
就好像它们是列表框中的项目一样?例子:
A
| |-- B
visit | | |-- C
order | | |-- D ----> A B C D E F G
| E
V |-- F
|-- G
我知道这对应于按顺序遍历树,这实际上是我当前的解决方案。由于我确实有一个最大深度为 N 的完整树,因此我可以执行以下操作:
foreach lev1 [.tree children {}] {
do_stuff $lev1
foreach lev2 [.tree children $lev1] {
do_stuff$lev2
foreach lev3 [.tree children $lev2] {
do_stuff $lev3
....
}
}
}
但我正在寻找一种更简单的方法来做到这一点。
我已经考虑mytag
为每个节点添加一个标签(比如)并使用:.tree tag has mytag
来获取所有节点的列表。问题是,AFAIK,不能保证最终的订单,我最终可能会得到不同类型的访问。