Python 如何删除小部件Tkinter树视图上留下的缩进?

Python 如何删除小部件Tkinter树视图上留下的缩进?,python,tkinter,treeview,Python,Tkinter,Treeview,我能把这个压痕去掉吗?我知道我可以删除第一列,但是我不能插入图像 import tkinter as tk import tkinter.ttk as ttk from PIL import Image, ImageTk class App: def __init__(self, master): self.tree = ttk.Treeview(master) self.tree.heading('#0', text='Directory', anch

我能把这个压痕去掉吗?我知道我可以删除第一列,但是我不能插入图像

import tkinter as tk
import tkinter.ttk as ttk
from PIL import Image, ImageTk

class App:
    def __init__(self, master):
        self.tree = ttk.Treeview(master)
        self.tree.heading('#0', text='Directory', anchor='w')
        self.tree["columns"]=("num_files")
        self.tree.heading('num_files', text='Number of files', anchor='w')

        self.image_tk = ImageTk.PhotoImage(Image.open('icon.png'))

        for i in range(10):
            self.tree.insert('', 'end', text="Dir %d" % (i+1), values=(15), open=False, image=self.image_tk)
        self.tree.pack(expand=1,fill="both")

root = tk.Tk()
app = App(root)
root.mainloop()

假设您所指的缩进是第一列的左侧(所有图标的左侧),您可以根据需要调整整个小部件的填充。对于您的应用程序,请从以下内容开始:

self.tree = ttk.Treeview(master, padding=[-15,0,0,0])

以红色突出显示的是树视图指示器所在的区域——打开或关闭切换图标——如果任何
对象包含其自身的子项,则会显示该图标

完成删除该区域的一种方法是,在使用允许您这样做的ttk主题时,只需完全删除指示器

s=ttk.Style()
s、 主题使用(“默认”)
s、 配置('Treeview.Item',indicatorsize=0)
这种方法似乎只适用于Windows 10上的
默认
clam
经典
主题。对于其他主题,罗恩的答案可能是你最好的选择


请提供一份报告。与图像相关的部分似乎是多余的。@Nae我描述了这个问题。附加的skrnshot。添加了完整的程序代码。还需要什么?当然它几乎是完美的,但是缩进在代码中没有所需的图像,这使得代码有点不简约。或者,如果没有缩进,则不带icon.png,然后请强调这一点。@Nae作为图像,您可以拍摄任何照片。要执行我的任务,需要图标。此外,我不使用图标就知道问题的解决方案。我认为提供这些信息也会有所帮助。当然,这不是最好的解决方案,但无论如何,谢谢!