Position von Tk-Fenstern auf dem Bildschirm

Fragen zu Tkinter.
Antworten
Data
User
Beiträge: 14
Registriert: Freitag 20. Juni 2003, 19:40

Samstag 6. Dezember 2003, 14:16

Verehrte Pythonmeister,

gibt es im Tkinter eine Möglichkeit die Größe des Bildschirms in Pixeln abzufragen und im Anschluss die Position von Fenstern (root, toplevels) auf dem Bildschirm festzulegen?

Data
oenone
User
Beiträge: 75
Registriert: Mittwoch 27. August 2003, 14:39
Wohnort: 49°17'28N, 8°15'57E
Kontaktdaten:

Samstag 6. Dezember 2003, 18:10

schon mal die dokumentation gelesen ?

da hab ich das gefunden:
| winfo_screenheight(self)
| Return the number of pixels of the height of the screen of this widget
| in pixel.
und probiert hab ich dann das:

Code: Alles auswählen

>>> a=Tkinter.Tk()
>>> a.winfo_screenheight()
1024
>>> a.winfo_screenwidth()
1280
>>> a.geometry()
'420x368+660+299'
>>> a.geometry("100x100")
''
>>> a.geometry("100x100+100+100")
''
mit winfo_screen... bekommst du die aufloesung des bildschirms.
wenn du geometry ohne parameter aufrufst, bekommst du die aktuelle groesse und position in form eines strings ("BreitexHoehe+XPos+YPos")
und genauso kannst du die werte veraendern.
mit "100x100" wird nur die groesse geaendert, mit "100x100+100+100" auch noch die position.

auf bald
oenone

[EDIT]
das geht wahrscheinlich nicht nur mit dem Tk() objekt, sondern mit jedem fensterobjekt :)
Data
User
Beiträge: 14
Registriert: Freitag 20. Juni 2003, 19:40

Montag 8. Dezember 2003, 22:27

Hi,

zunächst einmal Dank für Deine Antwort, Oenone.

Die Doku hatte ich schon gelesen, so dass mir meine Frage nur bezüglich screenheight() bzw. screenwidth() peinlich sein muß (diese Funktionen habe ich beim Suchen wohl überscrollt. Ich empfinde die Bildschirmdoku als unhandlich und unübersichtlich. In den Pythonbüchern, die ich bis jetzt besitze, kommt sowas wie Toplevel oder BaseWidget nicht vor. Habt Ihr da einen Tipp für mich?). Die Funktion geometry() allerdings bringt die falsche Fenstergröße, sobald das Fenster mit Inhalt gefüllt ist (, der das Fenster über die initiale Größe ausdehnt). Und jetzt?

Data
Antworten