TK“网格”和“网格删除”

时间:2017-01-31 13:25:10

标签: tcl tk

我有TK应用程序,其中包含几个包含不同小部件的框架。 要隐藏框架(及其内容),我使用 grid remove $ frame “。 如何将TK的尺寸调整到最小化所需的几何尺寸?

grid [ttk::frame .f ] -sticky nwse
grid [ttk::frame .f.f] -sticky nwse
foreach el {a b c d e f} {
 grid [label .f.f.$el -text "ELEM $el" ] -sticky nwse
}
update
after 2500
grid remove .f.f

在“网格移除.f.f”之后,在没有标签的情况下放置一个大小的顶层需要什么?

3 个答案:

答案 0 :(得分:1)

虽然grid remove将小部件从网格中移出,但它并没有忘记有关如何放置该小部件的信息(如果您想要将其重新添加到同一位置,偶尔会有用的操作)。要完全忘记它,您应该使用grid forget删除小部件删除其布局信息。

答案 1 :(得分:0)

怎么样:

wm geometry $ toplevel {}

此致

答案 2 :(得分:0)

我很惊讶几何$ $ toplevel {}。重绘。大。 但它并没有解决我的问题,但现在了解情况。

如果从网格中移除了toplevelFrame(顶层中的第一个也是唯一一个帧),那么顶层是"空的"而不是重绘。

如果toplevel至少是网格中的小部件/框架我可以删除一个并重绘完成。

在我的例子中.e是一个辅助框架。没有尺寸没有内容。

package require Tk
grid [frame .e ]
grid [frame .f ] -sticky nwse
foreach el {a b c e f g h} {
    grid [label .f.$el -text "1ELEM $el" ] -sticky nwse
 }
update
after 1000
grid remove .f