ScrolledText Element der Fensterbreite anpasse

Fragen zu Tkinter.
Antworten
alpha
User
Beiträge: 195
Registriert: Freitag 23. Mai 2003, 23:24
Wohnort: Ulm

Mittwoch 17. Dezember 2003, 15:07

Hallo zusammen,

ich arbeite mit Python 2.3 und Tkinter desweiteren benutze ich
den Gridmanager zur Ausrichtung meiner Schaltflächen usw.

Code: Alles auswählen

	ScrolledTextCDData = ScrolledText(mf, width=100, height=15, wrap=NONE)
	ScrolledTextCDData.grid(row=3, column=0, columnspan=2)

Jetzt meine Frage:
Wie schaffe ich es, wenn das Fester in seiner Größe geändert wird,
daß z.b. mein ScrolledText-Element um den gleichen Faktor vergrössert
wird. Bekomme ich irgendwie einen Event bei Grössenänderung, auf den
ich reagieren kann, oder kann man die Grössenanpassung unter Python
automatisieren. Ich habe bisher unter VB gearbeitet, da muß man selbst
dafür sorgen.

Danke für eurre Hilfe
alpha
Data
User
Beiträge: 14
Registriert: Freitag 20. Juni 2003, 19:40

Mittwoch 17. Dezember 2003, 18:19

Hallo alpha,

so ein ähnliches Problem hatte ich auch mal. Meine persönliche Lösung war der Wechsel des Layoutmanagers: Statt mit dem grid() habe ich die Oberfläche mit Frames und dem pack() neu aufgebaut. pack() sieht nämlich die Optionen expand und fill vor. Zum Beispiel kannst Du mit dem Aufruf
widget.pack(expand = 1, fill = BOTH)
festlegen, dass sich die Größe von widget mit der Größe des umgebenden Frames ändern soll (expand) und dass widget den gesamten verfügbaren Platz (sowohl in Richtung X wie auch in Richtung Y) im umgebenden Frame nutzen soll (fill = BOTH, wenn Du willst dass sich die Größe nur horizontal bzw. vertikal anpasst, wähle einfach fill = X bzw. fill = Y anstatt fill = BOTH).

Hoffentlich hilft Dir das!

Data
alpha
User
Beiträge: 195
Registriert: Freitag 23. Mai 2003, 23:24
Wohnort: Ulm

Donnerstag 18. Dezember 2003, 10:17

Danke, hab Deinen Tip befolgt und es klappt so wie ich mir das vorgestellt habe :)
alpha
Milan
User
Beiträge: 1078
Registriert: Mittwoch 16. Oktober 2002, 20:52

Freitag 19. Dezember 2003, 16:16

Hi. Denselben Effekt dürftest du beim Gridder auch mit widget.grid(sticky="NESW") erhalten. Wenn es nicht gerade der Befehl ist, tut es mir leid, aber es geht auf jeden Fall, ich hab es schon mehrfach benutzt (und finde die Dateien jetzt nicht mehr...) :roll: :wink:
Antworten