ITCL:如何显示条目中的值?

时间:2019-01-28 06:10:54

标签: tcl tk itcl

在我的代码中,该条目无法显示该值。如何纠正?谢谢

package require Itcl
namespace eval np {} {
  itcl::class myTable {
    variable tableValue
    constructor {} {
      array set tableValue {1 a 2 b 3 c 4 d}
    }

    proc build {} {
      destroy .e
      entry .e -textvariable [namespace current]::tableValue(1)
      pack .e
    }
  }
}
np::myTable tb
tb build

1 个答案:

答案 0 :(得分:0)

有些事情不太正确。首先,该值为 not [namespace current]::tableValue(1),这是变量名。如果需要该值,在这种情况下,必须使用set

entry .e -textvariable [set [namespace current]::tableValue(1)]

但这还不足够,因为上面的代码设置了text变量(将保存条目值的变量名),并且实际上并未在条目中插入值。

您可能要出于特定目的使用insert

proc build {} {
  destroy .e
  entry .e
  .e insert end [set [namespace current]::tableValue(1)]
  pack .e
}