2010-11-30 3 views
9

Ich bin neu bei Tkinter, und ich habe ein Listbox Widget, das ich automatisch ändern möchte, wenn die Größe des Hauptfensters ändert.Größe ändern Tkinter Listbox Widget, wenn das Fenster die Größe ändert

Im Wesentlichen möchte ich eine Flüssigkeit Höhe/Breite Listbox haben. Wenn jemand mich auf eine Dokumentation hinweisen oder ein bisschen Code/Einsicht geben kann, würde ich es begrüßen.

Antwort

3

Sie möchten in den Geometriemanagern pack und grid nachlesen, mit denen Sie Widgets in einem Fenster platzieren und angeben können, ob sie vergrößert und verkleinert werden oder nicht. Es gibt einen dritten Geometriemanager, place, der jedoch nicht oft verwendet wird.

Hier ist ein einfaches Beispiel:

import Tkinter as tk 

root = tk.Tk() 
scrollbar = tk.Scrollbar(root, orient="vertical") 
lb = tk.Listbox(root, width=50, height=20, yscrollcommand=scrollbar.set) 
scrollbar.config(command=lb.yview) 

scrollbar.pack(side="right", fill="y") 
lb.pack(side="left",fill="both", expand=True) 
for i in range(0,100): 
    lb.insert("end", "item #%s" % i) 

root.mainloop() 
+0

Dank Bryan, ich bin immer noch ein wenig spritzig wie die Vorteile der Packung vs Raster und müssen einige Zeit mit der bestehenden Dokumentation verbringen. – garen

+0

Gitter ist nützlich, wenn Sie Dinge in einem Gitter auslegen müssen, ist Pack ein bisschen nützlicher für Widgets in einer horizontalen oder vertikalen Anordnung (obwohl es ein bisschen komplizierter als das ist, da viele Arten von Layouts mit beiden erreicht werden kann) –