Seite 1 von 1

Problem bei OptionMenu

Verfasst: Montag 23. März 2009, 14:49
von Boldi
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.

Verfasst: Montag 23. März 2009, 18:01
von Hyperion
Es gibt ein spezielles Unterforum für TK fragen. Dort wäre der Thread wohl besser aufgehoben ;-)

Edit (Leonidas): Ack, verschoben.

Verfasst: Montag 23. März 2009, 19:44
von kaytec
Hallo Boldi !

Bei mir gibt es keine Probleme (ubuntu 8.10)

Welchen Editor verwendest Du ?

gruss frank

Re: Problem bei OptionMenu

Verfasst: Montag 23. März 2009, 19:54
von numerix
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.

Verfasst: Montag 23. März 2009, 20:33
von BlackJack
@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.

Verfasst: Montag 30. März 2009, 13:36
von Boldi
Danke für die Information. Mit TKinter.Toplevel funktioniert das ohne Probleme.

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