用新的窗口进入

时间:2016-09-10 22:27:58

标签: tcl tk

我想要一个带有简单输入的新窗口,可以放置一行文本,按钮确定设置变量值。当我使用简单的输入命令时,它出现在我的主窗口中。我需要像tk_dialog这样的选项将文本放到某个变量中。有预定义的tk_ *函数吗?

2 个答案:

答案 0 :(得分:0)

你必须使用tk toplevel命令创建另一个窗口

% set top [toplevel .top]
.top
% focus $top
% grab $top
% set entryBox [entry $top.ent -textvariable x]
.top.ent
% pack $entryBox
% set btn [button $top.btn -text "Click Me"]
.top.btn
% pack $btn

答案 1 :(得分:0)

此程序:

proc entrybox varName {
    set top [toplevel .top[clock seconds]]
    entry $top.eb -textvariable $varName
    button $top.bu -command [list incr ${top}done] -text OK
    pack {*}[winfo children $top]
    vwait ::${top}done
    unset -nocomplain ::${top}done
    destroy $top
}

当给定全局或完全限定名称时,使用条目和按钮创建新的顶级对话框。它等待单击按钮,然后销毁顶层对话框。输入框中的文本保留在变量中。

文档: button (widget)clockdestroyentry (widget)incrlistpackprocsettoplevelunsetvwaitwinfo{*} (syntax)