seltsame werte!

Fragen zu Tkinter.
Antworten
Gast

Samstag 9. April 2005, 09:38

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
Benutzeravatar
Mr_Snede
User
Beiträge: 387
Registriert: Sonntag 8. Februar 2004, 16:02
Wohnort: D-Dorf, Bo

Samstag 9. April 2005, 10:30

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
mawe
Python-Forum Veteran
Beiträge: 1209
Registriert: Montag 29. September 2003, 17:18
Wohnort: Purkersdorf (bei Wien [Austria])

Samstag 9. April 2005, 18:09

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
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Samstag 9. April 2005, 21:43

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.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Antworten