Seite 1 von 1
fenster-größe abfragen
Verfasst: Montag 9. August 2004, 14:26
von micha
gibt es bei python die möglichkeit die frame oder canvas-größe
abzufragen.
alles was ich bissher versucht habe war leider erfolglos.
Verfasst: Montag 9. August 2004, 14:50
von mawe
Hi!
Welches GUI-Toolkit?
Bei Tkinter gibt's
winfo_height(),
winfo_width(), oder
winfo_geometry(). Kleines Beispiel:
Code: Alles auswählen
from Tkinter import *
def show():
g = c.winfo_geometry()
h = c.winfo_height()
w = c.winfo_width()
print g,h,w
root = Tk()
c = Frame(width=200,height=300) # oder Canvas
c.pack()
Button(text="Ok",command=show).pack()
root.mainloop()
Gruß, mawe
Frame-größe abfragen
Verfasst: Dienstag 10. August 2004, 13:51
von micha
hi mawe,
danke für die schnelle antwort.
ich möchte sowas machen:
ich versuche gerade ein paar java-classen
nach python zu übersetzen, habe leider noch
keine große python-erfahrung
nochmal frame, oder canvas-groeße
Verfasst: Freitag 13. August 2004, 13:53
von micha
noch mal eine kurze erläuterung meines problems,
ich möchte das winfo_geometry() oder die anderen winfo_ -funktionen
bei der erzeugung des frames oder canvas, die fenster-groeße liefert,
nicht erst nach action wie button-druck.
ich möchte zum beispiel ein fenster "groeßer ziehen" und mir dabei die geänderten werte (z.b. height ) direct ausgeben lassen.
gibt es da irgend etwas?
danke
Verfasst: Freitag 13. August 2004, 14:13
von mawe
Hi!
Ich hab gedacht die Frage ist schon beantwortet ...

Also meinst Du sowas:
Code: Alles auswählen
from Tkinter import *
def resize(e):
label["text"] = "%i x %i" % (frame.winfo_width(), frame.winfo_height())
root = Tk()
frame = Frame()
frame.bind("<Configure>", resize)
frame.pack(fill=BOTH)
label = Label(frame)
label["text"] = frame.winfo_geometry()
label.pack()
root.mainloop()
Naja, irgendwie haut das nicht so ganz hin. Es wird nur die veränderte Breite angezeigt

Das lass ich Dir als Knobelaufgabe
Gruß, mawe
Verfasst: Freitag 13. August 2004, 14:53
von mawe
mawe hat geschrieben:
Naja, irgendwie haut das nicht so ganz hin. ...
Jetzt klappts
Gruß, mawe
Verfasst: Freitag 13. August 2004, 15:27
von Gast
danke mawe,
war genau das was ich brauchte
gruß micha
Verfasst: Dienstag 28. März 2006, 11:59
von geogre
ich hab eine kleine frage zu demselben thema:
wann genau wird hier die resize-funktion ausgelöst?? es scheint ja mit dem <configure> zusammen zu hängen... aber ich versteh nicht genau wie. oder läuft die funktion ständig durch?
Verfasst: Dienstag 28. März 2006, 14:58
von pr0stAta
Das ist Event Handling. <Configure> beschreibt ein Event was vom User in TKinter
ausgelöst wird. Jedesmal wenn du die Größe des Fenster änderst, wird die Resize Funktion aufgerufen. Es gibt noch viele andere Arten von Events.
Gute Liste ist hier:
http://www.pythonware.com/library/tkint ... ndings.htm
gruss
Verfasst: Dienstag 28. März 2006, 15:06
von geogre
genial! das bringt mich wieder einen mittelkleinen satz weiter

tausend dank