TCL输入框读取到变量

TCL输入框读取到变量,tcl,Tcl,我有一个名为“entrySerial”的单一输入框,用户可以在其中输入设备的序列号。应将该序列放入变量中,以便将其发送到不同的过程中。如何获取用户输入的内容并将其放入变量中?只有在用户按下按钮后才会发生这种情况——我不希望在用户键入输入时读取输入。有一个选项,该选项采用一个全局变量的名称,该变量将保存小部件的文本值。这是活动的,因此它在用户键入时始终保持当前值,但是您可以使用选项在特定条件下运行命令,如选项所述。其中一个是按键事件(您可以在其中检查Enter),另一个有用的事件是对焦点丢失进行验

我有一个名为“entrySerial”的单一输入框,用户可以在其中输入设备的序列号。应将该序列放入变量中,以便将其发送到不同的过程中。如何获取用户输入的内容并将其放入变量中?只有在用户按下按钮后才会发生这种情况——我不希望在用户键入输入时读取输入。

有一个选项,该选项采用一个全局变量的名称,该变量将保存小部件的文本值。这是活动的,因此它在用户键入时始终保持当前值,但是您可以使用选项在特定条件下运行命令,如选项所述。其中一个是按键事件(您可以在其中检查Enter),另一个有用的事件是对焦点丢失进行验证。例如:

set value "test"
entry .e -textvariable ::value -validate focusout -validatecommand {puts $::value; return 1}
pack .e -side left
pack [button .b -text Ok] -side right
当您通过单击另一个控件或应用程序或使用Tab切换到另一个控件而失去焦点时,应该打印输入值