如何获取所选treeview项的值?

2024-09-30 12:31:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我看过几篇关于这个的文章,他们做了如下的工作

-我得到的输出是空的

-我得到的输出是id,除非有人告诉我如何操作它,否则它实际上毫无用处

-完全没有输出

我只想能够点击treeview中的一个项目,并立即得到我刚刚点击的文本

 def OnDoubleClick(event):
        item = course1_assessments.focus()
        print (item)

 course1_assessments.bind("<<TreeviewSelect>>", OnDoubleClick)

如果单击第一个项,此代码将给出“I001”;如果单击第二个项,此代码将给出“I002”;id假设这些是树中的列值,但对我仍然没有用处


Tags: 项目代码文本eventidbinddef文章
1条回答
网友
1楼 · 发布于 2024-09-30 12:31:33

您可以使用小部件的selection方法获得所选项目的列表。它将返回一个项目ID列表。您可以使用item方法获取有关每个项的信息。

例如:

import tkinter as tk
from tkinter import ttk

class App:
    def __init__(self):
        self.root = tk.Tk()
        self.tree = ttk.Treeview()
        self.tree.pack(side="top", fill="both")
        self.tree.bind("<<TreeviewSelect>>", self.on_tree_select)

        for i in range(10):
            self.tree.insert("", "end", text="Item %s" % i)

        self.root.mainloop()

    def on_tree_select(self, event):
        print("selected items:")
        for item in self.tree.selection():
            item_text = self.tree.item(item,"text")
            print(item_text)

if __name__ == "__main__":
    app = App()

相关问题 更多 >

    热门问题