Код: Выделить всё
import tkinter as tk
import tkinter.ttk
root = tk.Tk()
root.geometry("400x300")
frame = tk.Frame(root)
frame.pack(fill="both", expand=True)
vertical_scrollbar = tk.Scrollbar(frame, orient="vertical")
vertical_scrollbar.pack(side="right", fill="y")
horizontal_scrollbar = tk.Scrollbar(frame, orient="horizontal")
horizontal_scrollbar.pack(side="bottom", fill="x")
horizontal_scrollbar.update()
vertical_scrollbar.pack_configure(pady=(0, horizontal_scrollbar.winfo_height()))
treeview = tk.ttk.Treeview(frame, show="tree")
treeview.pack(fill="both", expand=True)
treeview.column("#0", stretch=True)
# treeview.column("#0", stretch=False, width=800)
# treeview.column("#0", stretch=False, width=2000)
treeview.configure(yscrollcommand=vertical_scrollbar.set)
treeview.configure(xscrollcommand=horizontal_scrollbar.set)
vertical_scrollbar.configure(command=treeview.yview)
horizontal_scrollbar.configure(command=treeview.xview)
item = ""
for i in range(50):
item = treeview.insert(item, "end", text=f"Item{i+1} "*5, open=True)
root.mainloop()

Установка Stretch=False и указание ширины столбца вручную включает горизонтальную прокрутку. Однако если вы установите слишком маленькую ширину, а фактическое содержимое столбца окажется шире заданной ширины столбца, содержимое просто снова обрежется:

С другой стороны, если вы установите слишком большую ширину, вы получите много пустого пространства и потенциально крошечный ползунок прокрутки:

Как настроить ширину столбца так, чтобы она соответствовала содержимому столбца?
Мобильная версия