GUI - "update"-Problem

Fragen zu Tkinter.
Antworten
Sunshine
User
Beiträge: 9
Registriert: Dienstag 21. November 2006, 19:14

Hallo zusammen.
Erstmal Kompliment an das Forum hier, habe mit Python erst vor nem Monat angefangen und habe hier immer gute Tips/Antworten gefunden.
Weiter so.

Mein Problem:
Ich habe "versucht" ein GUI zu programmieren, so mit ner Menüleiste und so.
Wenn man nun oben im Menü einen Unterpunkt anklickt, wird der auch angezeigt, doch wenn ich dann einen anderen Menüpunkt auswähle, wird der einfach drann gehangen, aber nicht ersetzt.
Daher, wie kann ich es "dynamisch" machen, so dass immer nur das aktuelle angezeigt wird? Und wie bekomme ich das Menü über die gesamte Fensterbreite angezeigt?

Über Hilfe wäre ich sehr dankbar, denn alleine dieses kleine Programm hat mich schon 2 Wochen und unzählige Nerven gekostet. :?
Sorry für den Programmierstiel usw. bin absoluter Python/Classes/GUI - Neuling. :oops:


Hier mal der CODE:

[Edit: Code ins LodgeIt ausgelagert]

Edit (Leonidas): Code ausgelagert.
schlangenbeschwörer
User
Beiträge: 419
Registriert: Sonntag 3. September 2006, 15:11
Wohnort: in den weiten von NRW
Kontaktdaten:

Hallo Sunshine!
Sunshine hat geschrieben:Wenn man nun oben im Menü einen Unterpunkt anklickt, wird der auch angezeigt, doch wenn ich dann einen anderen Menüpunkt auswähle, wird der einfach drann gehangen, aber nicht ersetzt
Probiers mal mit pack_forget(). Wenn du was packst einfach das, was grad da ist wieder "runterpacken".
Sunshine hat geschrieben:Und wie bekomme ich das Menü über die gesamte Fensterbreite angezeigt?
Du hast einfach 2 Menubuttons erstellt, wenn du ein richtiges Menu haben willst, nutze doch einfach nur Menu. Sonst kannst du alles mit .pack(fill=Y) (oder X,None,BOTH) in gewünschter Richtung bis zum Fensterrand ziehen.
Gruß, jj
Sunshine
User
Beiträge: 9
Registriert: Dienstag 21. November 2006, 19:14

Hey Danke schlangenbeschwörer für deine Hilfe.
Das mit dem pack_forget() funzt prima.
Auch das Problem mit der Menüleiste konnte ich lösen durch ein einfaches fill=X an der richtigen Stelle. :)

thx
Antworten