| #!/usr/bin/env wish
|
|
|
| array set Var {}
|
|
|
| foreach x {a b c} {
|
| ttk::entry .$x \
|
| -textvariable Var($x) \
|
| -validate key \
|
| -validatecommand {regexp {^\d*$} %P}
|
| }
|
|
|
| grid .a [label .ab -text *] .b [label .bc -text +] .c \
|
| [label .e -text =] [label .r -textvariable Result]
|
|
|
| trace add variable Var write {apply {args {
|
| global Var Result
|
| set expr {expr {$Var(a) * $Var(b) + $Var(c)}}
|
| if {[catch $expr Result]} \
|
| { set Result NaN }
|
| }}}
|