1

Tcl/Tk 小部件路径名的长度或嵌套是否有限制?

例如:

ttk::button .a.b.c -text "Hello World"
pack .a.b.c

.a.b.c在里面的容器.a.b内创建按钮.a,等等。标识符名称和嵌套级别是否有限制?例如,如果我这样重写它:

ttk::button .extralonga.extralongb.extralongc -text "Hello World"
pack .extralonga.extralongb.extralongc

在遇到问题之前我可以走多长时间?

4

1 回答 1

3

Tk 本身根本没有施加这样的限制(尽管如果您最终使用非常大量的内存,您可能会遇到问题)。

我想,底层图形层可能会施加限制,但我从未遇到过它们。(请注意,从该层的角度来看,只有顶层中的路径才是重要的。)我猜你更有可能在你达到任何存在的限制之前创建一个不可行的混乱和不切实际的 GUI。我倾向于尽量保持嵌套级别相当小;在这方面使用grid而不是pack帮助,使交互小部件直接指向顶层的子级,并使用-in几何管理器的选项来正确设置。事实上,我认为唯一必须在与小部件的父/子关系方面正确是您需要剪辑的地方;在 Tk 中,孩子被父母剪掉。(如果您使用textorcanvas来执行不同类型的可滚动区域,或者 - IIRC -ttk::notebook用于在一个区域上覆盖多个小部件时,这很重要。)

总结:先担心其他问题好不好?

于 2014-01-30T22:39:23.050 回答