Tkinter treeview - 如何在文本开头添加图标

Tkinter treeview - how to add a icon at the beginning of text

我们都熟悉现代计算机的树视图。我想使用 treeview 将这种外观添加到我的 tkinter 应用程序中,以通过图像突出显示什么是文件和什么是文件夹,然后是其名称。但是我该怎么做呢?

我想要的:

我得到的:

这是我试过的两行,但给了我错误。

folderLogo = tkinter.BitmapImage(file="icons/folder24.xbm")

self.treeOMine.insert(parent='', index=END, iid=rowid, text=path, tags=('even',), image=folderLogo)

我也试过 bmp ang png 文件,然后我发现 xbm 是我需要的。

我到处都看到它被提及,但我似乎无法弄清楚如何继续它。还是我误解了什么?

Quote: "通常,您还会指定每个项目的名称,即树中显示的文本。其他选项允许您在名称旁边添加图像,指定节点是打开还是关闭, ETC。” (https://tkdocs.com/tutorial/tree.html)

另外https://docs.python.org/3/library/tkinter.ttk.html提到了添加图像的可能性。这让我真的觉得这是可能的。

您应该使用 image 选项,并提供 PhotoImage:

的实例
tree = ttk.Treeview(root)
tree.pack(fill="both", expand=True)

folder_image = tk.PhotoImage(file="folder.png")
file_image = tk.PhotoImage(file="page.png")

folder_a = tree.insert("", "end", text="Folder A", image=folder_image)
tree.insert(folder_a, "end", text="File 1", image=file_image)
tree.insert(folder_a, "end", text="File 2", image=file_image)
tree.insert(folder_a, "end", text="File 3", image=file_image)