Hallo!
Zu bändigen ist da weniger Python als vielmehr Tk(inter).
Das Verhalten hat mich schon in den Anfangzeiten von Tcl/Tk gestört, zumal es "damals" noch nicht
Grid gab. Das wäre nämlich die eine Möglichkeit. Beispiel:
Code: Alles auswählen
from Tkinter import *
root = Tk()
text = Text(root,wrap=NONE,width=20,height=20)
scrolly = Scrollbar(root, command=text.yview)
scrollx = Scrollbar(root, orient=HORIZONTAL,command=text.xview)
text.configure(yscrollcommand=scrolly.set)
text.configure(xscrollcommand=scrollx.set)
text.grid(row=0,column=0)
scrolly.grid(row=0,column=1,sticky=NS)
scrollx.grid(row=1,column=0,sticky=EW)
root.mainloop()
Die Widgets werden also einfach in ein Gitter gepackt. Das Resultat ist meist vorhersagbarer, als beim Standard-Packer
Alternativ könntest Du die
Python megawidgets (Pmw)[1] installieren. Da gibt u.a. sowas wie ScrolledCanvas, -Field, -Frame, -Listbox und noch ein paar andere Goodies. Sehr empfehlenswert. Ich sehe gerade, dass ich hier eine völlig veraltete Version am Laufen habe.
Jan
[1]
http://pmw.sourceforge.net/