Wenn tkinter Konstanten definiert hat, sollte man die auch verwenden.
Dein Grid reagiert noch nicht auf Änderung der Fenstergröße. Dazu muß man es passend konfiguriert werden.
Eine Treeview-Spalte ändert ihre Breite dynamisch, je nachdem, wie breit das Widget ist, will man also eine Horizontale Scrollbar, muß man das explizit ausschalten.
Code: Alles auswählen
import tkinter as tk
from tkinter import ttk
def main():
root = tk.Tk()
treeview = ttk.Treeview(root)
treeview.column("#0", stretch=False, width=500)
treeview.config(show="tree")
treeview.grid(row=0, column=0, sticky=tk.NSEW)
scrollbar_vertical = ttk.Scrollbar(root, orient=tk.VERTICAL, command=treeview.yview)
scrollbar_vertical.grid(row=0, column=1, sticky=tk.NS)
scrollbar_horizontal = ttk.Scrollbar(root, orient=tk.HORIZONTAL, command=treeview.xview)
scrollbar_horizontal.grid(row=1, column=0, sticky=tk.EW)
treeview.configure(yscrollcommand=scrollbar_vertical.set, xscrollcommand=scrollbar_horizontal.set)
for _ in range(50):
treeview.insert(parent="", index="end", text=f"{_}"*50)
root.grid_rowconfigure(0, weight=1)
root.grid_columnconfigure(0, weight=1)
root.geometry('200x200')
root.mainloop()
if __name__ == "__main__";
main()