Problem bei OptionMenu

Fragen zu Tkinter.
Antworten
Boldi
User
Beiträge: 32
Registriert: Montag 29. Dezember 2008, 11:02
Wohnort: Erfurt
Kontaktdaten:

Montag 23. März 2009, 14:49

Hi,
ich habe ein kleines, mir unverständliches, Problem:

In einem größerem Programm führe ich folgenden Quelltext aus:

Code: Alles auswählen

    root2=tk.Tk()
    root2.title('Profil erstellen')
    #Label
    L_Ort=tk.Label(root2,text='Wohnort: ')
    L_Ort.grid(row=0,column=0)
    #Entries
    E_Wohnort=tk.Entry(root2)
    E_Wohnort.grid(row=0,column=1)
    #Drop-Down-Menü    
    SV_auswahl=tk.StringVar()
    SV_auswahl.set("Bundesland auswählen")
    BundeslandAuswahl=tk.OptionMenu(root2,SV_auswahl,"Baden-Württemberg (BW)", "Bayern (BY)", "Berlin (BE)","Brandenburg (BB)",\
                                    "Bremen (HB)", "Hamburg (HH)", "Hessen (HE)", "Mecklenburg-Vorpommern (MV)",\
                                    "Niedersachsen (NI)", "Nordrhein-Westfalen (NRW)", "Rheinland-Pfalz (RP)", "Saarland (SL)",\
                                    "Sachsen (SN)","Sachsen-Anhalt (ST)", "Schleswig-Holstein (SH)", "Thüringen (TH)")
    BundeslandAuswahl.grid(row=5,column=0)
    #Button
    B_Speichernprofil=tk.Button(root2,text='Speichern',command=speichern)
    B_Speichernprofil.grid(row=5,column=1)
    root2.mainloop()
Es erscheint ein Fenster, welches das Label, den NEtry und den Button problemlos anzeigt, allerdings wird das OptionMenu nicht richtig angezeigt.
Bild

Es sollte aber "Bundesland Auswählen" im OptionMenu angezeigt werden und ausgewählte Bundesländer werden nicht angezeigt, nur ein leeres OptionMenu.

Wenn ich aber den Quelltext in einer anderen Datei ausführe funktioniert es problemlos. Die Variablen kommen auch nur einmal vor.
Benutzeravatar
Hyperion
Moderator
Beiträge: 7472
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Montag 23. März 2009, 18:01

Es gibt ein spezielles Unterforum für TK fragen. Dort wäre der Thread wohl besser aufgehoben ;-)

Edit (Leonidas): Ack, verschoben.
Benutzeravatar
kaytec
User
Beiträge: 544
Registriert: Dienstag 13. Februar 2007, 21:57

Montag 23. März 2009, 19:44

Hallo Boldi !

Bei mir gibt es keine Probleme (ubuntu 8.10)

Welchen Editor verwendest Du ?

gruss frank
Benutzeravatar
numerix
User
Beiträge: 2696
Registriert: Montag 11. Juni 2007, 15:09

Montag 23. März 2009, 19:54

Boldi hat geschrieben:Wenn ich aber den Quelltext in einer anderen Datei ausführe funktioniert es problemlos. Die Variablen kommen auch nur einmal vor.
Wie sollen wir das Problem jetzt lösen?

So wie ich dich verstehe, funktioniert der Code eigentlich korrekt, nur wenn du ihn in ein längeres Programm einbettest, dann nicht mehr.
Du zeigst nun aber den funktionierenden Code, nicht jedoch das umgebende Programm, mit dem zusammen es nicht mehr klappt.
BlackJack

Montag 23. März 2009, 20:33

@numerix: Wir müssen doch nur erraten, das in dem Programm, in das eingebettet wird, ein (Haupt)Fenster existiert. :-)

@Boldi: Man darf in einem laufenden Programm nur ein Fenster mit `Tkinter.Tk` erstellen, weil dass *das* Hauptfenster ist. Weitere Fenster müssen mit `Tkinter.Toplevel` erstellt werden.
Boldi
User
Beiträge: 32
Registriert: Montag 29. Dezember 2008, 11:02
Wohnort: Erfurt
Kontaktdaten:

Montag 30. März 2009, 13:36

Danke für die Information. Mit TKinter.Toplevel funktioniert das ohne Probleme.

Ich bedank mich nochmal für die schnelle Hilfe von euch.
Antworten