我想要一个新的窗口出现,简单的输入,把一行文本和按钮ok设置变量的值。当我使用简单的输入命令时,它出现在我的主窗口中。我需要一些像tk_dialog选项把文本到一些变量。是否有预定义的tk_*函数?
您必须使用tk top命令创建另一个窗口
% 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
程序:
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
}
当给定全局或完全限定名称时,将创建一个包含条目和按钮的新顶层对话框。它等待按钮被点击,然后销毁顶层对话框。输入框中的文本保留在变量中。
文档:按钮(小部件),时钟,破坏,条目(小部件),增加,列表,包,proc,集,最高级的,未设置的,vwait,winfo,{*}(语法)