我正在尝试验证条目的文本输入。
entry $w.e -validate key -vcmd "entryChanged $w.l $w.e"
我定义了以下回调。
proc entryChanged {l e} {
puts [$e get]
return 1
}
问题是get返回条目的先前值,因为在验证之后才设置新值。我的问题是如何获取新值? (要验证的值)我认为它与-textvariable
有关,但是,我找不到太多关于此的文档。
答案 0 :(得分:5)
您希望通过entry
documentation的验证部分仔细阅读。例如,试试这个
... -vcmd {entryChanged %W %s %P}
proc entryChanged {widget_name old_value new_value} {
puts "widget name = $widget_name"
puts "previous value = $old_value"
puts "edited value = $new_value"
return true
}