我想在单个窗口中运行以下tcl / tk代码,但是当我使用wish yep.tcl
运行下面的代码时,它会打开两个窗口,如下图所示。我只想要一个窗口,okie
需要进行哪些更改?
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
答案 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