Seite 1 von 1
seltsame werte!
Verfasst: Samstag 9. April 2005, 09:38
von Gast
hallo,
ich muss die breite, höhe und position eines fensters abfragen, nun habe ich mir folgendes aus dem forum hier zusammengereimt:
Code: Alles auswählen
#!/usr/bin/env python
from Tkinter import *
root=Tk()
root.wm_geometry('450x550+20+20')
root.update()
print root.winfo_geometry()
root.mainloop()
die ausgabe ist allerdings seltsam
450x550+24+41
jmd eine idee warum?
mfg
rolgal
Verfasst: Samstag 9. April 2005, 10:30
von Mr_Snede
Habe es auch mal ausprobiert, bei mir sieht es auch nicht anders aus: 450x550+23+37
Mein System: debian sarge
Kommt es vielleicht darauf an, wohin der Windowmanager das nun wirklich plaziert. Bei icewm kann man glaube ich soetwas wie "Abstand zum Monitor Rand" definieren - kann mich aber irren.
Vielleicht sollte das einer mal auf Windows probieren.
Ich habe bei meinen Übungen (mit Tkinter) auch meine Probleme mit den Positionsangaben gehabt und verzichte drauf (auf die Positionsangaben).
cu Sebastian
Verfasst: Samstag 9. April 2005, 18:09
von mawe
Hi!
Diese "seltsamen" Werte kommen vom Rahmen, und der ist ja bei jedem Windowmanager (und auch bei jedem Theme) anders. Die geometry Angaben die man setzen kann beziehen sich nur auf den Bereich innerhalb dieses Rahmens.
Gruß, mawe
Verfasst: Samstag 9. April 2005, 21:43
von Leonidas
Seltsam, dass man zwar sagen kann, dass der Inhalt des Fensters so und so groß ist (ist ja logisch, wie groß der Rahmen ist, sollte meist der WM entscheiden), aber mit winfo_geometry() nicht diesen Wert zurückbekommt, den man gesetzt hat, sondern die Größe des ganzen Fensters.