【问题标题】:Tkinter - Return column number of selected treeviewTkinter - 返回所选树视图的列号
【发布时间】:2018-11-14 01:14:48
【问题描述】:
如何获取在 tkinter 树视图中选择的列的编号?
现在我正在使用 tree.focus() 但它返回 I001 或 I00A 之类的内容,我不知道如何将其转换为数字。
我无法索引树,因为其中有多个具有相同名称的项目,我想知道用户单击的确切列。
我期望的是单击第一项并返回整数 0,等等。
谢谢,如果我感到困惑,请提出问题...
【问题讨论】:
标签:
python
tkinter
treeview
【解决方案1】:
Here are docs 用于 Treeview。
您反复使用了“列”这个词,但是当您说“具有相同名称的多个项目”并提到“第一项”时,听起来很像您在谈论行。
如果您想要该列,则需要使用treeview.bind("<Button-1>", callback) 或其变体来捕获点击事件。然后,您将使用 treeview.identify_column 根据事件的 x 位置获取列索引(请记住,根据文档,如果您的列重新排列,您可能需要做一些额外的工作)。 Here aretwo links如果您需要有关活动的信息。
如果您实际上是在谈论行,您可以使用treeview.selection() 获取所选项目的 iid 列表,然后将它们输入treeview.index() 以获取您正在谈论的行的 0-index。