преобразование строки виджета записи в целое число в tcl / tk - PullRequest
0 голосов
/ 17 сентября 2018

Я хочу иметь возможность вводить число в виджет ввода в tcl / tk и умножать это число на 1000. Проблема в том, что когда я делаю это, я всегда получаю 0. Я предполагаю, что это числострока и должна быть как-то преобразована.

Может кто-нибудь сказать мне, как это сделать, пожалуйста?

1 Ответ

0 голосов
/ 20 сентября 2018

В tcl / tk переменную можно интерпретировать как строку и число, в зависимости от контекста. Это проверено в фоновом режиме. Например:

set x 10
append x 0
set y [expr $x+10]

x интерпретируется сначала как строка, а затем как целое число. Если вы хотите получить доступ к значению записи, вы можете использовать опцию -textvariable:

entry .e -textvariable ::v
pack .e

v должно быть глобальной переменной. Это равно значению в записи. Если вы напишите:

set ::v 10

также изменится отображение в виджете ввода. В вашем случае вы можете написать:

set y [expr 1000*$v]
...