Heim > Backend-Entwicklung > Python-Tutorial > Wie kann ich Argumente an Tkinter-Schaltflächenbefehle übergeben, ohne sie vorzeitig auszuführen?

Wie kann ich Argumente an Tkinter-Schaltflächenbefehle übergeben, ohne sie vorzeitig auszuführen?

Barbara Streisand
Freigeben: 2024-12-21 03:12:10
Original
784 Leute haben es durchsucht

How Can I Pass Arguments to Tkinter Button Commands Without Premature Execution?

Argumente an Schaltflächenbefehle in Tkinter übergeben

Beim Erstellen von Schaltflächen in Tkinter kann es nützlich sein, Argumente an die Befehlsfunktion zu übergeben. Der bereitgestellte Code:

import Tkinter as Tk
win = Tk.Toplevel()
frame = Tk.Frame(master=win).grid(row=1, column=1)
button = Tk.Button(master=frame, text='press', command=action)
Nach dem Login kopieren

wobei action die Methode ist, die beim Drücken der Schaltfläche aufgerufen wird, legt nahe, dass Argumente direkt als Parameter an den Befehl der Schaltfläche übergeben werden können:

button = Tk.Button(master=frame, text='press', command=action(someNumber))
Nach dem Login kopieren

Dies ist jedoch der Fall führt die Aktion sofort aus, wodurch die Schaltfläche unbrauchbar wird. So beheben Sie dieses Problem:

Lösung mit Lambda

Ein Lambda ermöglicht die Argumentbindung ohne explizite Wrapper-Methode oder Änderungsaktion:

button = Tk.Button(master=frame, text='press', command= lambda: action(someNumber))
Nach dem Login kopieren

Dies bindet das Argument effektiv und stellt sicher, dass die Aktion beim Drücken der Taste korrekt aufgerufen wird.

Das obige ist der detaillierte Inhalt vonWie kann ich Argumente an Tkinter-Schaltflächenbefehle übergeben, ohne sie vorzeitig auszuführen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage