meine frage ist:
Wie kann ich mit tkinter zwei befehele mit einem button machen?
Ich habe etwas gelesen von lambda aber da kann ich bis jetzt nur einen Befehl ausführen.
Wie kann man mit lambda zwei befehle ausführen?
lambda mehrere funktionen auf einmal ausführen
-
HardwareManager
- User
- Beiträge: 59
- Registriert: Freitag 31. Mai 2013, 21:18
ImmmerEineGuteIdee
|=|=|=|=|=|=|=|
HardwareManager
|=|=|=|=|=|=|=|
HardwareManager
-
BlackJack
@HardwareManager: Definiere einfach eine normale, benannte Funktion oder Methode.
-
HardwareManager
- User
- Beiträge: 59
- Registriert: Freitag 31. Mai 2013, 21:18
Aber in dieser Methode kann ich dann nicht so etwas wie
machen, oder was meinst du?
Code: Alles auswählen
root.destroyImmmerEineGuteIdee
|=|=|=|=|=|=|=|
HardwareManager
|=|=|=|=|=|=|=|
HardwareManager
-
BlackJack
@HardwareManager: Wenn `root` irgendwie als Argument in die Funktion oder Methode kommt dann schon.
-
HardwareManager
- User
- Beiträge: 59
- Registriert: Freitag 31. Mai 2013, 21:18
Bei einem Button muss man ja dann lambda verwenden:
und kann man lambda nicht irgendwie dazu bringen zwei Befehle auszuführen?
also das "hallo" geprintet wird und das root kaputt gemacht wird?
Code: Alles auswählen
button = Button(root, text='Ok', width=25, command=lambda: print("hallo"))also das "hallo" geprintet wird und das root kaputt gemacht wird?
ImmmerEineGuteIdee
|=|=|=|=|=|=|=|
HardwareManager
|=|=|=|=|=|=|=|
HardwareManager
-
BlackJack
@HardwareManager: Nein da *muss* man *nicht* einen ``lambda``-Ausdruck verwenden. Da kann man jedes beliebige aufrufbare Objekt übergeben. Eben auch benannte Funktionen oder Methoden.
Code: Alles auswählen
from functools import partial
# ...
def print_and_destroy(widget):
print('Hallo')
widget.destroy()
# ...
button = Button(root, text='Ok', width=25, command=partial(print_and_destroy, root))-
HardwareManager
- User
- Beiträge: 59
- Registriert: Freitag 31. Mai 2013, 21:18
DANKE!! ES GEHT <3 <3 <3
ImmmerEineGuteIdee
|=|=|=|=|=|=|=|
HardwareManager
|=|=|=|=|=|=|=|
HardwareManager
