簡體   English   中英

如何刪除小部件 Tkinter Treeview 上的縮進?

[英]How to remove indent left on the widget 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', 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])

您以紅色突出顯示的是 Treeview 指示器所在的區域——打開關閉切換圖標——如果任何Item對象包含它們自己的子項,就會顯示該區域。

完成刪除該區域的一種方法是在使用允許您這樣做的 ttk 主題的同時完全刪除指示器。

s = ttk.Style()
s.theme_use('default')
s.configure('Treeview.Item', indicatorsize=0)

這種方法似乎只適用於 Windows 10 上的defaultclamclassic主題。對於其他主題,Ron 的答案可能是您最好的選擇。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM