wie kann der inhalt von entry.get() übergeben werden????

Fragen zu Tkinter.
Antworten
Gast

hi zusammen!

wer kann mir sagen warum beim betätigen des buttons die schrift des labels nicht geändert wird?

witzig: wenn ich das fenster nicht in einer funktion schreibe, geht es, es happert also irgendwie an der übergabe, die stattfinden muss. ich brauche für ein bestimmtes projekt diese lösung mit den zwei funktionen.

ich bedanke mich im voraus.

Code: Alles auswählen

from Tkinter import*



def textae(variable,lb):
    if variable!="":
        lb["text"] = variable
def fenster():
    f=Tk()

    entry=Entry(f)
    entry.grid(row=0,column=0)
    variable=entry.get()    
    lb = Label(f,text="hallo")
    lb.grid(row=1,column=0)

    btest = Button(f,text="Test")
    btest.grid(row=2,column=0)
    btest.bind("<Button-1>",textae(variable,lb))

    f.mainloop()

fenster()




mfg roland
lbuega
User
Beiträge: 75
Registriert: Dienstag 15. April 2003, 08:51
Wohnort: Weissach

Hallo,
Du hast im Entry erst was drin stehen, wenn Du auch was eingetragen hast. Wenn Du das in Deinem Beispiel mit get() abfragst ist das noch nicht der Fall! Ausserdem kann man meines Wissens bei "bind" keine Parameter bei einer aufrufenden Funktion stehen (Ausnahme, "lambda" Funkt.). Hab dann entry und lb als globale Variablen definiert, da sie der textae Funktion sonst nicht bekannt sind.

Code: Alles auswählen

from Tkinter import*

def textae(event):
    variable=entry.get()
    if variable!="":
        lb["text"] = variable

def fenster():
    f=Tk()

    global entry, lb
    entry=Entry(f)
    entry.grid(row=0,column=0)
    lb = Label(f,text="hallo")
    lb.grid(row=1,column=0)

    btest = Button(f,text="Test")
    btest.grid(row=2,column=0)
    btest.bind("<Button-1>", textae)

    f.mainloop()

fenster()
Gast

hi, wo ist mein posting in dem ich mich bedankt habe hin???
egal, also danke nochmal, es klappt so.

mfg

roland
Antworten