将现有框架移动到新框架并使用旧名称创建新框架



我在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选项到packgrid,但这是严格的视觉效果。)

是否有可能更好地管理备份小部件的模型,以便您可以轻松地在该模型上重新创建视图?(答案取决于正在使用的小部件—重新创建canvastext小部件一点也不简单,尽管使用text您可以从8.5开始克隆它—但通常相当容易。)

最新更新