Buttonprozedur mit Übergabevariable?

Fragen zu Tkinter.
Antworten
mintpc
User
Beiträge: 50
Registriert: Montag 23. Januar 2012, 12:44

Hallo zusammen,

ich wollte einen Taschenrechner programmieren, bei dem mit jeder Taste
eine Ziffer im Entry-Feld hinzugefügt wird.
Nun habe ich für jede der Tasten 1 bis 0 eine einzige Prozedur, bei der
die entsprechende Zahl übergeben werden soll.

Das geht nur leider nicht.

Kann denn überhaupt eine ButtonProzedur Übergabewerte enthalten?

Danke schonmal
mintpc

Code: Alles auswählen

def BClick(Zahl):              <---- hier: Deklaration der Prozedur
  a = Eingabe.get()
  Eingabe.delete(0,"end")
  Eingabe.insert(0,a+str(Zahl))

[. . .]

Eingabe = tkinter.Entry(Fenster, width = 40)
Eingabe.grid(row = 0, column = 0, padx = 5, pady = 5, columnspan = 5)

Button_1 = tkinter.Button(Fenster, text = "  1  ", command = BClick(1))      <--- hier: ButtonProzedur mit Übergabe
Button_1.grid(row = 1, column = 0, padx = 5, pady = 5)
BlackJack

@mintpc: Dafür gibt es `functools.partial()`.
mintpc
User
Beiträge: 50
Registriert: Montag 23. Januar 2012, 12:44

Na, das löst ja mein Problem nicht.

Beim Aufruf des Button-Command wird die Variable nicht übergeben.
Das hat mit "functools" ja nichts zu tun.
yipyip
User
Beiträge: 418
Registriert: Samstag 12. Juli 2008, 01:18

mintpc
User
Beiträge: 50
Registriert: Montag 23. Januar 2012, 12:44

Danke
Antworten