我试图从ttk:entry
获取值。我有以下代码。如何从ttk获取值:条目
variable DefaultRoot
ttk::label $wi.custcfg.dlabel -text "Default Root:"
ttk::entry $wi.custcfg.daddr -width 10 -textvariable ::DefaultRoot -validate focusout -validatecommand { puts $::DefaultRoot; return 1}
puts $DefaultRoot
但我得到的最后提出
变量不存在,直到东西写入条目。您需要将输出操作绑定到返回事件(当您按下并释放返回键时触发)。像这样:'bind $ wi.custcfg.daddr {puts $ :: DefaultRoot}'(过程名称比这里的脚本更好)。 –
我试过这样的事情 'ttk :: entry $ wi.custcfg.daddr -width 10 -textvariable :: DefaultRoot -validate focusout -validatecommand {puts $ :: DefaultRoot;返回1} 把$ DefaultRoot' ,但我仍然得到最后一个投入的错误 –
工作适合我。当最后一个put被执行时,它会给出一个错误消息,因为该条目还没有被使用,但是一旦输入了文本并且条目失去焦点,放入验证脚本的工作就可以正常工作。除非你自己创建变量(即给它一个值),否则你永远不会期望放在最后一行。 –