tcl - 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
解决方案
有几处不太正确。首先值不是 [namespace current]::tableValue(1)
,这是变量名。如果你想要这个值,你必须set
在这种情况下使用:
entry .e -textvariable [set [namespace current]::tableValue(1)]
但这还不够,因为上面设置了文本变量(将保存条目值的变量名),并且实际上并没有在条目中插入值。
您可能希望insert
用于该特定目的:
proc build {} {
destroy .e
entry .e
.e insert end [set [namespace current]::tableValue(1)]
pack .e
}
推荐阅读
- git - 确保所有提交的文本文件只有 LF 换行符
- python - 如何将树视图中的数据插入数据库(Python、Tkinter、Sqlite3)
- vue.js - 如何将 Three.js 导入我的 Nuxt 项目
- mysql - 会议室预订系统数据库设计
- netlogo - 如何在 netlogo 中创建数据框/表?
- javascript - 使用酶的点击方法不调用模拟函数
- google-maps-api-3 - Google 地图位置服务返回每个地点的 id 和 place_id。我可以使用 id 来识别地点吗?
- c - 无法编译一个简单的 c 代码,其架构不支持 mac os
- html - 使用 Swift 4 将 HTML 数据转换为 JSON 到字符串
- reactjs - 单击链接时无法导航。收到错误“TypeError:无法读取未定义的属性‘push’”