2017-09-28 1 views
-1

Ich habe eine Herausforderung, meine Baumansicht das Toplevel-Fenster füllen zu lassen, habe versucht, fill = "x" und fill = "both", aber nicht das Ergebnis.Ein Vorschlag, dies zu tun.Tkinter Toplevel: Baumansicht öffnen, um den Rahmen zu passen

from tkinter import ttk 
import tkinter as tk 


def my_treeview(): 
    mt = tk.Toplevel() 
    mt.geometry("1000x580") 

    tree = ttk.Treeview(mt) 
    tree.insert("", "0", "item1", text="fill width") 
    tree.insert("", "1", "item2", text="fill height") 

    tree.pack(fill="both") 


root = tk.Tk() 
root.geometry("400x400") 

treeview = tk.Button(root, text="open treeview", command=my_treeview).pack() 

root.mainloop() 

Antwort

1

fill="both" bedeutet „die ganze Fläche füllen, die Ihnen zugeordnet wurde“. Es macht genau das. Das Treeview-Widget hat eine bestimmte Höhe, die es haben möchte, also packt gerade genug Platz ein, damit es passt. Das lässt viel zusätzlichen Speicherplatz übrig, der nicht zugewiesen wurde.

Wenn Sie die Baumansicht erweitern wollen alle verbleibenden Raum zu füllen und nicht nur den Raum, die es braucht, verwenden Sie die expand Option neben der fill Option.

Beispiel:

tree.pack(fill="both", expand=True) 
+0

Diese Frage wurde abgewählt ich denke, es wird den Grund zu erklären, wird ermutigend für mich nicht noch einmal zu wiederholen. –

+0

@ADWAN: Woher soll ich wissen, warum es downvoted wurde? Meine Vermutung ist, weil die Frage keine Anzeichen von Ihnen zeigt, bevor Sie die Frage stellen. Von Ihnen wird erwartet, dass Sie viel recherchieren, bevor Sie fragen. Siehe [Wie viel Forschungsaufwand wird von Stack Overflow-Benutzern erwartet?] (Http://meta.stackoverflow.com/q/261592/7432) –

Verwandte Themen