我在TCL中使用了一个名为frame1的框架和其他框架。现在我设置一个进程来销毁所有这些帧。我要做的是将这些帧移动到一个新的变量中并创建同名的新帧。我的代码是这样的:
proc DestroyAll {} {
global parent_widget
global new_widget
destroy .sf.frame.main.xName
for {set i 0} {$i < $Count} {incr i} {
destroy .sf.frame.main.parameter($i)
}
destroy .sf.frame.main.buttons
destroy .sf.frame.buttons
destroy .sf.frame.main
destroy .sf.frame
destroy .sf
}
Populatenewdata ->>这个过程创建并填充sf帧我不想破坏这些框架,但我想创建一个新的框架。这个框架的填充过程很长,不能用循环来完成,有什么方法可以做到吗?
Tk不允许您表示小部件;它们的名字从你创造它们的那一刻起直到你毁灭它们的那一刻起都是固定的。(你可以让他们在视觉上出现在不同的小部件中,适当的-in
选项到pack
和grid
,但这是严格的视觉效果。)
是否有可能更好地管理备份小部件的模型,以便您可以轻松地在该模型上重新创建视图?(答案取决于正在使用的小部件—重新创建canvas
或text
小部件一点也不简单,尽管使用text
您可以从8.5开始克隆它—但通常相当容易。)