Seite 1 von 1

Buttonprozedur mit Übergabevariable?

Verfasst: Sonntag 16. Dezember 2012, 13:03
von mintpc
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)

Re: Buttonprozedur mit Übergabevariable?

Verfasst: Sonntag 16. Dezember 2012, 13:12
von BlackJack
@mintpc: Dafür gibt es `functools.partial()`.

Re: Buttonprozedur mit Übergabevariable?

Verfasst: Montag 17. Dezember 2012, 19:35
von mintpc
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.

Re: Buttonprozedur mit Übergabevariable?

Verfasst: Montag 17. Dezember 2012, 19:52
von yipyip

Re: Buttonprozedur mit Übergabevariable?

Verfasst: Sonntag 23. Dezember 2012, 20:50
von mintpc
Danke