Definitionsprobleme mit globalen Variablen in place_forget()
Verfasst: Dienstag 15. April 2008, 07:41
Hi all,
ich habe ja bereits einen anderen Post zu diesem Thema geöffnet, aber kamn bisher immernoch nicht zu einer funktionierenden Lösung, um Label zu löschen.
Hier habe ich ja in einer Definition die Variablen ergebnistitel,ergebnis mit einem Label belegt. Wenn ich jetzt in der Definition oben Versuche, diese Labels mit ergebnistitel.place_forget() bzw. ergebnis.place_forget() auszublenden, bekomme ich in der IDLE immer fiolgende Meldung:
Auch wenn ich an die Stelle, an der ich die Variablen erstmals benutze ein "global" setze, passiert nicht die gewünschte Option. Es kommt allerdings auch keine Fehlermeldung mehr...
Ich hoffe mir kann jemand helfen, da auch in anderen Funktionen meines Programms dasselbe Problem auftritt...
MFG evil4president
ich habe ja bereits einen anderen Post zu diesem Thema geöffnet, aber kamn bisher immernoch nicht zu einer funktionierenden Lösung, um Label zu löschen.
Code: Alles auswählen
def aufgabe_ggT():
def ggtzurueck():
ergebnistitel.place_forget()
ergebnis.place_forget()
fenster=Toplevel()
fenster.title('Berechnen des ggT')
fenster.geometry('400x180')
titel1=Label(fenster,text=u'Geben Sie die erste Zahl an:')
titel1.place(x=10,y=10)
entry1=Entry(fenster,width=20)
entry1.place(x=10,y=30)
titel2=Label(fenster,text=u'Geben Sie die zweite Zahl an:')
titel2.place(x=10,y=65)
entry2=Entry(fenster,width=20)
entry2.place(x=10,y=85)
def do_ggT():
zurueck=Button(fenster,text=u'Zurücksetzen',command=ggtzurueck)
zurueck.place(x=90,y=120)
try:
d=float(entry1.get())
e=float(entry2.get())
if d < 0 or e < 0 :
raise
entry1.delete(0,END)
entry2.delete(0,END)
elif int(d) != d or int(e) != e :
raise
entry1.delete(0,END)
entry2.delete(0,END)
else:
fenster.geometry('680x180')
ergebnistitel=Label(fenster,text='Der ggT von '+str(entry1.get())+' und '+str(entry2.get())+' ist:',font=('Arial Black',13))
ergebnistitel.place(x=200,y=25)
ergebnis=Label(fenster,text=ggT(int(entry1.get()),int(entry2.get())),font=('Verdana',12))
ergebnis.place(x=200,y=53)
entry1.delete(0,END)
entry2.delete(0,END)
Code: Alles auswählen
ergebnistitel.place_forget()
NameError: global name 'ergebnistitel' is not defined
Ich hoffe mir kann jemand helfen, da auch in anderen Funktionen meines Programms dasselbe Problem auftritt...
MFG evil4president