在TclTK中找出小部件类
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在TclTK中找出小部件类相关的知识,希望对你有一定的参考价值。
我在窗口中有几个按钮,我想改变所有的pady值。我可以:
foreach a [list b1 b2 b3 ... bn] {
grid configure $a -pady 2
}
但这很慢,因为我必须查找所有路径,如果我更改接口,那么我必须手动更新列表。所以我在考虑做:
foreach a [winfo children $win] {
if {[winfo class $a] == "TButton"} {
grid configure $a -pady 2
}
}
但我无法在任何地方找到小部件的类。我可以在TclTk中做到这一点吗?如果是的话,有人能指出我为winfo class widget_path
列出的类值吗?
提前致谢!!!!
答案
winfo children
只给你直接的孩子。如果您的任何按钮包含在例如帧,它们不会在列表中返回。
The wiki有代码来创建所有小部件的列表,无论深度如何:
proc wlist {{W .}} {
set list [list $W]
foreach w [winfo children $W] {
set list [concat $list [wlist $w]]
}
return $list
}
以上是关于在TclTK中找出小部件类的主要内容,如果未能解决你的问题,请参考以下文章
如何更新导航抽屉中的有状态小部件,同时在 Android 中保持与片段相同的类?