lambda durch normale Fkt ersetzen
Verfasst: Dienstag 7. März 2017, 12:14
Hallo zusammen,
Tut mir leid wenn die frage vlt. sehr dumm ist aber ich bin noch ganz neu und komme nicht weiter.
Ich habe mithilfe einem jetzt schon etwas älteren Tutorial so das Grundkonzept eines Taschenrechners mit GUI programmiert.
nun wollte ich das immer wiederkehrende (Methode 1)
durch (Methode 2)
ersetzten wobei PushButton wie folgt definiert ist:
Wenn ich nun aber Methode 2 verwende wird die Aktion die eigentlich erst beim drücken des Buttons geschehen soll, am Anfang ausgeführt und der Button macht nichts.
Vielen dank schonmal für eure Hilfe
P.S.: Unten ist jetzt noch der komplette code. Die bindings sind natürlich noch unvollständig.
Tut mir leid wenn die frage vlt. sehr dumm ist aber ich bin noch ganz neu und komme nicht weiter.
Ich habe mithilfe einem jetzt schon etwas älteren Tutorial so das Grundkonzept eines Taschenrechners mit GUI programmiert.
nun wollte ich das immer wiederkehrende (Methode 1)
Code: Alles auswählen
b3.bind("<Button-1>", lambda x: t.insert(END,"3"))
Code: Alles auswählen
b3.bind("<Button-1>", PushButton("3"))
Code: Alles auswählen
def PushButton(i):
t.insert(END,i)
Vielen dank schonmal für eure Hilfe
P.S.: Unten ist jetzt noch der komplette code. Die bindings sind natürlich noch unvollständig.
Code: Alles auswählen
from tkinter import *
from math import *
def calc(event):
gleichung = t.get
t.delete
v['text'] = eval(t.get())
top = Tk()
t = Entry(top)
t.grid(row=0,columnspan=3)
b1 = Button(top,text="1")
b1.grid(row=1,column=0)
b2 = Button(top,text="2")
b2.grid(row=1,column=1)
b3 = Button(top,text="3")
b3.grid(row=1,column=2)
b4 = Button(top,text="4")
b4.grid(row=2,column=0)
b5 = Button(top,text="5")
b5.grid(row=2,column=1)
b6 = Button(top,text="6")
b6.grid(row=2,column=2)
b7 = Button(top,text="7")
b7.grid(row=3,column=0)
b8 = Button(top,text="8")
b8.grid(row=3,column=1)
b9 = Button(top,text="9")
b9.grid(row=3,column=2)
b0 = Button(top,text="0")
b0.grid(row=4,column=1)
bdel = Button (top,text="DEL")
bdel.grid(row=4,column=2)
bad = Button(top,text="+")
bad.grid(row=0,column=3)
bsub = Button(top,text="-")
bsub.grid(row=1,column=3)
bmul = Button(top,text="*")
bmul.grid(row=2,column=3)
bdiv = Button(top,text="/")
bdiv.grid(row=3,column=3)
beq = Button(top,text="=")
beq.grid(row=4,column=3)
def PushButton(i):
t.insert(END,i)
b1.bind("<Button-1>", PushButton("1"))
b2.bind("<Button-1>", PushButton("2"))
b3.bind("<Button-1>", lambda x: t.insert(END,"3"))
top.mainloop()