我正在 python 中使用 tkk 构建一个 gui,但我遇到了问题 Treeview 命令 selection_set(). 。我试图用它来设置程序启动时的默认选择,但它似乎无法接受其中包含空格的字符串。

tree.selection_set("Sunset Grill")

原因:

return self.tk.call(self._w, "selection", selop, items)
_tkinter.TclError: Item Sunset not found

有人可以提出任何建议吗?

有帮助吗?

解决方案

您可以尝试以下操作:

tree.selection_set('"Sunset Grill"')

我根据 ttk.py 的代码和我对 Tcl 的有限理解来猜测这一点。对 tree.selection_set() 的调用会调用 self.selection("set", items),而 self.selection("set", items) 又会调用 self.tk.call(self._w, "selection", selop, items) 其中 selop='set' 和 items 是最初传递给 Selection_set() 的字符串。我不确定 self.tk.call() 在将参数传递给 Tcl 之前是否对参数进行任何处理,因为它是对 _tkinter.c 模块的调用,而且我对 Python/C 接口了解不够明白那个代码。;)

其他提示

尝试 tree.selection_set(["Sunset Grill"])

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top