Heim > Backend-Entwicklung > Python-Tutorial > Warum wird der Befehl meiner Schaltfläche sofort ausgeführt, anstatt beim Klicken?

Warum wird der Befehl meiner Schaltfläche sofort ausgeführt, anstatt beim Klicken?

Susan Sarandon
Freigeben: 2024-12-27 12:09:11
Original
153 Leute haben es durchsucht

Why Does My Button's Command Execute Immediately Instead of on Click?

Warum wird der Befehl meiner Schaltfläche sofort nach der Erstellung ausgeführt?

Frage:

Im bereitgestellten Code ist eine Schaltfläche erstellt und seine Befehlsoption wird auf einen Funktionsaufruf mit einem Argument gesetzt. Allerdings gibt die Schaltfläche das Argument und eine weitere Zeichenfolge sofort nach der Erstellung aus und reagiert nicht auf Klicks. Warum passiert das?

Antwort:

Der bereitgestellte Code übergibt das Ergebnis der Funktionsaufrufschaltfläche („hey“) direkt an die Befehlsoption. Dies führt dazu, dass die Funktion sofort ausgeführt wird und nicht erst, wenn auf die Schaltfläche geklickt wird.

Um dies zu beheben, besteht die richtige Möglichkeit, eine Funktion als Befehl zu übergeben, darin, ihren Namen ohne Klammern oder Argumente zu verwenden. Zum Beispiel:

b = Button(admin, text='as', command=button)
Nach dem Login kopieren

Um jedoch ein Argument an eine Funktion zu übergeben, können Sie eine Lambda-Funktion verwenden, bei der es sich um eine anonyme Funktion handelt, die einen Verweis auf sich selbst zurückgibt:

b = Button(admin, text='as', command=lambda: button('hey'))
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWarum wird der Befehl meiner Schaltfläche sofort ausgeführt, anstatt beim Klicken?. 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