我使用以下过程删除树视图窗口小部件(z1)中显示的数据库中的记录:
set z1 [ttk::treeview .c1.t1 -columns {first last} -show headings]
proc Dlt {} {
global z1 z11
sqlite3 db test.db
db eval {
DELETE From t1 Where First_Name = $z11 and Last_Name = $z11
}
db close
}
sql语句中的$ z11应该是树视图选择。不幸的是,我无法弄清楚如何将变量设置为等于树视图选择。我可以设置一个变量等于索引,即:set z11 [$ z1 index [$ z1 selection]]。这将给我树视图选择的索引;但是,我试图获取树视图选择的字符串值。
有谁知道将变量设置为等于树视图选择的正确语法是什么?
谢谢,
答案 0 :(得分:3)
要获取树中项目的值,您将使用树的item
子命令。例如:
set selection [.tree selection]
set text [.tree item $selection -text]
答案 1 :(得分:0)
顺便说一下,你在和哪个平台合作?如果是Windows,出于调试目的,可以在代码中添加“console show”命令以显示交互式控制台窗口。打开后,您可以使用[puts]显示变量值。因此,您可以使用“puts $ text”(在代码中)查看文本变量的值。
此外,您只需直接在控制台中输入命令即可立即进行评估。在许多情况下,在控制台中花费几分钟可能会非常有启发性。
如果您没有在Windows下运行,则甚至不需要“console show”命令,因为写入stdout的任何内容都应出现在原始shell窗口中。