Hallo,
ich habe ein kleines grafisches Tool in Python 2.4 geschrieben, welches ich nun auf unserem Server bereitstellen wollte. Das Problem: Dort läuft Python 2.2 und dieses kennt offenbar den Parameter "pady" bzw. "padx" bei Frames noch nicht. Hab's daher rausgenommen, jetzt sieht das Ganze nicht wirklich hübsch aus. Gibt's in der Version einen anderen Parameter, der die Funktionalität bietet?
pady bei Frames in Python 2.2
- Michael Schneider
- User
- Beiträge: 569
- Registriert: Samstag 8. April 2006, 12:31
- Wohnort: Brandenburg
Moin Patrick,
ich arbeite auf der Arbeit mit Python 2.2 und habe dort schon einige grafische Oberflächen programmiert, ohne dass mir dieses Phänomen aufgefallen wäre.
Wozu benötigst Du den Rahmen genau und welchen Geometriemanager verwendest Du?
Wenn Du ihn nur zum Gruppieren benötigst, kannst Du ja mal die ressourcen ipadx und ipady probieren.
Notfalls kannst Du den Rahmen mit einem anderen Geometriemanager (Place?) plazieren. Über diesen Geometriemanager solltest Du eigentlich alles hinbekommen, wenngleich etwas umständlicher.
Vielleicht hilft Dir dieses kleine Beispiel zur Plazierung mit Place weiter:
Ich werde mir das morgen noch einmal vor Ort ansehen.
Grüße,
der Michel
ich arbeite auf der Arbeit mit Python 2.2 und habe dort schon einige grafische Oberflächen programmiert, ohne dass mir dieses Phänomen aufgefallen wäre.
Wozu benötigst Du den Rahmen genau und welchen Geometriemanager verwendest Du?
Wenn Du ihn nur zum Gruppieren benötigst, kannst Du ja mal die ressourcen ipadx und ipady probieren.
Notfalls kannst Du den Rahmen mit einem anderen Geometriemanager (Place?) plazieren. Über diesen Geometriemanager solltest Du eigentlich alles hinbekommen, wenngleich etwas umständlicher.
Vielleicht hilft Dir dieses kleine Beispiel zur Plazierung mit Place weiter:
Code: Alles auswählen
from Tkinter import *
tk = Tk()
tk.config(width = 600, height = 400)
w, h = 400, 200
frame = Frame(tk, width = w, height = h, bd = 2, relief = RIDGE)
frame.place(relx=0.5, rely=0.5, x = -w/2, y = -h/2)
tk.mainloop()
Grüße,
der Michel
Diese Nachricht zersört sich in 5 Sekunden selbst ...
- Michael Schneider
- User
- Beiträge: 569
- Registriert: Samstag 8. April 2006, 12:31
- Wohnort: Brandenburg
Moinmoin,
ich habe mal folgenden kleinen Test durchgeführt:
Alles läuft einwandfrei, mit GRID- und PACK-Geometriemanager. Ich verwende Version 2.2.2. Kannst Du mal die Fehlermeldung posten?
Grüße,
der Michel
ich habe mal folgenden kleinen Test durchgeführt:
Code: Alles auswählen
from Tkinter import *
tk = Tk()
frame = Frame(tk, bd = 2, relief = RIDGE, width = 400, height = 300)
frame.grid(padx = 40, pady = 30) ## grid manager
#frame.pack(side = LEFT, padx = 40, pady = 30) ## pack manager
tk.mainloop()
Grüße,
der Michel
Diese Nachricht zersört sich in 5 Sekunden selbst ...
Hallo Michel,
danke für Deine Antwort, bin aber heute morgen auch selbst drauf gekommen. Anscheinend müssen Parameter wie "padx" und "pady" bei Python 2.2 noch mit in den "pack()"-Aufruf geschrieben werden, bei 2.4 kann man sie z.B. auch direkt dem Frame-Konstruktor mitgeben.
danke für Deine Antwort, bin aber heute morgen auch selbst drauf gekommen. Anscheinend müssen Parameter wie "padx" und "pady" bei Python 2.2 noch mit in den "pack()"-Aufruf geschrieben werden, bei 2.4 kann man sie z.B. auch direkt dem Frame-Konstruktor mitgeben.
CU, Patrick