我们都熟悉现代计算机的树形视图。我想使用树视图将此外观添加到我的 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 是我需要的。
我可以看到到处都提到它,但我似乎不知道如何继续。还是我在这里误解了什么?
引用:“通常,您还可以指定每个项目的名称,即树中显示的文本。其他选项允许您在名称旁边添加图像,指定节点是打开还是关闭等。” (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)