我想要一个带有简单输入的新窗口,可以放置一行文本,按钮确定设置变量值。当我使用简单的输入命令时,它出现在我的主窗口中。我需要像tk_dialog这样的选项将文本放到某个变量中。有预定义的tk_ *函数吗?
答案 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), clock, destroy, entry (widget), incr, list, pack, proc, set, toplevel, unset, vwait, winfo, {*} (syntax)