想在单一窗口中打开tcl / tk代码

时间:2015-08-28 09:41:41

标签: tcl tk

我想在单个窗口中运行以下tcl / tk代码,但是当我使用wish yep.tcl运行下面的代码时,它会打开两个窗口,如下图所示。我只想要一个窗口,okie

1

需要进行哪些更改?

proc yep {} {
    toplevel .t
    wm geometry .t 300x200-5+40
    wm title .t "okie"
    label .t.n -text "CELL"
    grid .t.n -rowspan 2 -columnspan 5
}
yep

2 个答案:

答案 0 :(得分:1)

命令toplevel创建一个额外的窗口。如果您只想使用主窗口,请跳过toplevel的调用并使用.代替.t。 (.t.n当然是.n。)

答案 1 :(得分:1)

除了名为.t的默认窗口之外,您还要创建另一个顶层窗口.。要仅使用单个窗口,请使用默认窗口或撤消默认窗口。

使用默认

proc yep {} {
    wm geometry . 300x200-5+40
    wm title . "okie"
    label .n -text "CELL"
    grid .n -rowspan 2 -columnspan 5
}
yep

撤消默认

proc yep {} {
    toplevel .t
    wm geometry .t 300x200-5+40
    wm title .t "okie"
    label .t.n -text "CELL"
    grid .t.n -rowspan 2 -columnspan 5

    # Hide the unwanted window
    wm withdraw .
    # Make the application go away when we close the visible window
    wm protocol .t WM_DELETE_WINDOW { exit }
}
yep