Seite 1 von 1

grösse abslout festlegen

Verfasst: Montag 18. August 2003, 22:49
von Gast
hi!

wie lässt sich mit tkinter die grösse festlegen und zwar ohne wenn und aber?

kann man ausserdem die fenstersymbole wie z.b maximieren unterdrücken?

mfg

roland

Verfasst: Dienstag 19. August 2003, 09:17
von lbuega
Hallo Roland,

meinst Du die Fenstergröße?
Die kannst Du mit root.maxsize(420, 230) steuern. Hast Du das angegeben, dann funktioniert auch maximieren nicht mehr (zumindest bei mir unter UNIX), angezeigt wirds allerdings trotzdem noch. Die Zahlen sind natürlich die von Dir gewünschte Fenstergröße.

nö leider....

Verfasst: Dienstag 19. August 2003, 13:40
von Gast
das beeindruckt ihn leider gar nicht mit maxsize :(

Verfasst: Dienstag 19. August 2003, 19:31
von wuf
Hallo rolgal

Probier einmal folgendes:

Lege die gewünschte Grösse des Fensters zu Beispiel root mit
folgender Anweisung fest:

root.wm_geometry(Deine Grösse)

und dann gebe als nächste Anweisung

root.resizable(0,0)

ein.

Gruss wuf

hm.....

Verfasst: Dienstag 19. August 2003, 20:30
von Gast
hi

also, wie ist denn die grösse anzugeben? ich frage......weil wenn ich 2 werte angebe ich eine fehlermeldung bekomme.

mfg

roland

Verfasst: Dienstag 19. August 2003, 22:08
von wuf
Hallo Roland

Hier ist der Code für die Grössenangabe. Sieht ein bisschen
kompliziert aus. Vielleicht gibt es einfachere lösungen. Es
braucht total 4 Werte.

Code: Alles auswählen

	sLeft   =  "%s" % 20    # X-Position auf dem Bildschirm (linke obere Ecke in Pixels)
	sTop    =  "%s" % 20    # Y-Position auf dem Bildschirm (linke obere Ecke in Pixels)
	sWidth  =  "%s" % 300   # Breite (Pixels)
	sHeight =  "%s" % 400   # Höhe   (Pixels)

	root.wm_geometry(sWidth+"x"+sHeight+"+"+sLeft+"+"+sTop)

Gruss Fritz

yeah

Verfasst: Dienstag 19. August 2003, 22:28
von Gast
hi wuf

thank you, it sucks.

oder wie man da auch immer sagt :D

bis bald

roland

Verfasst: Donnerstag 21. August 2003, 08:38
von lbuega
Scheint wohl auf UNIX/Windows-System unterschiedlich zu sein, da mein Fenster mit "wm_geometry()" nicht unveränderbar ist.

etwas übersichtlicher geschrieben siehts so aus:

Code: Alles auswählen

 root.wm_geometry('20x20+300+400') 

linux

Verfasst: Donnerstag 21. August 2003, 08:43
von Gast
hi

ich verwende nicht windows sondern linux, somit ist es noch verwunderlicher wenn es da unterschiede gibt, zwischen der unix und linux version.

auch noch interessant...

Verfasst: Donnerstag 21. August 2003, 09:57
von Gast
wäre zu wissen, wie man nur x und y position am bildschirm angeben kann.

kannst du mir da nochmal weiterhelfen? denn der wm_geometry() erwartet gibt einen error aus, wenn man nur die zwei werte angeben will.

vielen dank

roland

Verfasst: Donnerstag 21. August 2003, 23:05
von wuf
Hallo Freunde
Ich habe hier noch einige Tips mit Code
zum experimentieren. Die TK-Geometrie
Anweisung hat mich bei meinen ersten
Programmierung mit TK-GUI ein wenig
durcheinander gebracht, speziell die
Übergabe der Dimensionen als String-
Kombination.
Übrigens Grösse des Fensters ist erst
nach folgender Anweisung nicht mehr
veränderbar:

root.resizable(0,0)

All the best mates and stay clean!

Code: Alles auswählen

#~~ Hier noch einige Versuche um die Geometrie
#   und das Verhalten eines Root- oder Toplevel-
#   Fenster zu ändern

#~~ Veruch-1
	#~~ Verändert x und y Position
	xpos  = 200
	ypos  = 200
	root.wm_geometry("+%d+%d" % (xpos,ypos))

#~~ Versuch-2
	#~~ Verändert die Breite und Höhe
	width  = 200
	height = 200
	root.wm_geometry("%dx%d"  % (width,height))

#~~ Versuch-3
	xpos   = 200
	ypos   = 200
	width  = 200
	height = 200
	root.wm_geometry("%dx%d+%d+%d" % (width,height,xpos,ypos))

	#~~ Das Fenster wird unsichtbar
	root.withdraw()

	#~~ Das Fenster wird sichtbar
	root.deiconify()

	#~~ Das Fenster wird zum obersten
	root.transient()

	#~~ Grösse des Fensters ist nicht veränderbar
	root.resizable(0,0)

	#~~ Das Fensters ist nur horizontal veränderbar
	root.resizable(1,0)

	#~~ Das Fensters ist nur vertikal veränderbar
	root.resizable(0,1)

	#~~ Das Fensters ist horizontal und vertikal veränderbar
	root.resizable(1,1)

# Gruss Fritz

Verfasst: Montag 15. März 2004, 16:06
von Tkinter-Einsteiger
ist es auch möglich die Breite und Höhe in Prozent anzugeben?

sLeft = "%s" % 0 # X-Position auf dem Bildschirm (linke obere Ecke in Pixels)
sTop = "%s" % 0 # Y-Position auf dem Bildschirm (linke obere Ecke in Pixels)
sWidth = "%s" % 1024 # Breite (Pixels)
sHeight = "%s" % 716 # Höhe (Pixels)

So, dass es nicht abhängig von der Bildschrimauflösung ist.

Verfasst: Montag 15. März 2004, 19:44
von Dookie
Hi Tkinter-Einsteiger,
ist es auch möglich die Breite und Höhe in Prozent anzugeben?
% von was? Das fragt sich Tkinter dann sicher auch.
Wenn Du weisst von was die xx% sein sollen, kannst Dir den echten Wert in Pixeln ja ausrechnen.


Gruß

Dookie

Verfasst: Montag 15. März 2004, 19:59
von Gast
Die Fläche in Prozent der Gesamtfläche des Monitors.
Wenn ich Höhe und Breite in Pixel angebe, ist es von Auflösung zu Auflösung verschieden. Wenn ich jetzt aber meinetwegen 80 % der Vollbildbreite eingebe, sollte das Fenster eben 80 % derselben groß sein.

Verfasst: Montag 15. März 2004, 21:48
von Milan
Hi, das geht wie Dookie schon sagte, ganz einfach: selbst die anzahl der Pixel ausrechnen. Die Bildschirmauflösung erhälst du ganz einfach durch root.winfo_vrootwidth() und root.winfo_vrootheight() . Danach dürfte dein Problem ziemlich leicht zu lösen sein...

mfg, Milan

Verfasst: Dienstag 16. März 2004, 14:02
von Tkinter-Einsteiger
Vielen Dank!
Das löst mein Problem natürlich.

Re: grösse abslout festlegen

Verfasst: Donnerstag 14. März 2019, 16:26
von Jan Lampert
Also ich mache es immer mit: root.geometry("breitexlänge")