gpt4 book ai didi

python - 将项目添加到 ttk.Treeview 时出现“不匹配的左括号”错误

转载 作者:太空狗 更新时间:2023-10-30 02:48:46 26 4
gpt4 key购买 nike

我正在尝试将项目添加到构建基本 UI 的 Python 脚本中的 ttk.Treeview 实例。插入代码如下所示:

tree.insert(my_id, 
'end',
todo_id,
text="Line " + str(line_num),
values=(str(todo_text), owner), # I have 2 cols, 'text' and 'owner'
tags=['#todo_entry'])

我发现在名为“text”的列中设置字符串 todo_text 时,Tkinter 在遇到特定字符串时会抛出错误:

_tkinter.TclError: 列表中不匹配的左括号

我唯一能想到的原因是,有问题的字符串包含花括号。这是它断开的字符串:

'//静态类属性 {//TODO,临时类'

无论我是否使用 todo_textstr(todo_text),这似乎都会发生。

文本字符串是否以某种方式被解析?我错过了什么?

最佳答案

Tkinter 的核心是 Tcl 解释器的包装器。对于 Tcl,花括号是特殊的,除非它们被转义。花括号是创建 Tcl 列表最常用的方法。如果您看到 unmatched open brace in list,这是一个 Tcl 错误,与您的大括号不平衡有关。

对我来说这看起来像是一个 Tkinter 错误——tkinter 包装器在将数据传递给 Tcl 解释器之前错误地引用了数据。当您在大括号前面放置一个反斜杠时,它现在变成了一个有效的 Tcl 字符串,这就是您不再看到错误的原因。

这已在 python 错误跟踪器上报告为问题 #15861

关于python - 将项目添加到 ttk.Treeview 时出现“不匹配的左括号”错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11566299/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com