abgeleitete Klasse und pack =>darstellung an falscher Ste

Fragen zu Tkinter.
Antworten
frosty
User
Beiträge: 5
Registriert: Samstag 13. Februar 2010, 15:14

Hallo,

Mein Problem:
Habe von Canvas eine Klasse KoordinatenSystem abgeleitet. Von KoordinatenSystem habe ich dann die beide Klassen UseKoordSys1 und UseKoordSys2 abgeleitet.

Code: Alles auswählen

class KoordinatenSystem(Canvas):
...

class UseKoordSys1(KoordinatenSystem):
...

class UseKoordSys2(KoordinatenSystem):
...
Im Programm habe ich nun eine Funktion createGUI() die erst einmal UseKoordSys1, dann Label1, dann UseKoordSys2 und dann label2 darstellen soll.
Dazu führe ich die Pack-Fuktionen der Elemente aus:

Code: Alles auswählen

UseKoordSys1.pack()
label1.pack()
UseKoordSys2.pack()
label2.pack()
Mein Problem ist nun, dass beide labels oberhalb der beiden UseKoordSys dargestellt werden.

Weshalb ist das so? Wie kann ich dafür sorgen das die Reihenfolge stimmt?
Ich verwende Python2.6.4.
Bin erst seit ein paar Tagen mit Python am arbeiten.

Vielen Dank,
frosty
Benutzeravatar
numerix
User
Beiträge: 2696
Registriert: Montag 11. Juni 2007, 15:09

frosty hat geschrieben:Mein Problem ist nun, dass beide labels oberhalb der beiden UseKoordSys dargestellt werden. Weshalb ist das so?
Das lässt sich aus dem gezeigten Code nicht erkennen, weil der Bezug der einzelnen Widgets zueinander nicht beim Packen festgelegt wird. Zu klären wäre, was hier der "master" ist und wie deine GUI aufgebaut ist. Ansonsten gibt es verschiedene Parameter für den Aufruf der pack()-Methode, mit der sich die Positionierung festlegen lässt: http://effbot.org/tkinterbook/pack.htm
frosty
User
Beiträge: 5
Registriert: Samstag 13. Februar 2010, 15:14

Ah, danke sehr!

Ich dachte die Reihenfolge von Pack legt fest wie die GUI Elemente angeordnet werden.
Ich werde mir mal den Link genauer betrachten.
frosty
User
Beiträge: 5
Registriert: Samstag 13. Februar 2010, 15:14

Nochmals danke!

Ich hatte den abgeleiteten Klassen kein parent mitgegeben. Dadurch wurde ein anonymes Tk-Object zum Parent, während meine Labels die eigentliche Anwendung als Parent hatten.
Antworten