Heim > Backend-Entwicklung > Python-Tutorial > Wie übergebe ich Argumente an Tkinter-Schaltflächenbefehle?

Wie übergebe ich Argumente an Tkinter-Schaltflächenbefehle?

Patricia Arquette
Freigeben: 2024-12-18 09:32:18
Original
1006 Leute haben es durchsucht

How to Pass Arguments to Tkinter Button Commands?

Übergabe von Argumenten an Schaltflächenbefehle in Tkinter

In Tkinter können Sie beim Erstellen einer Schaltfläche eine Befehlsoption angeben, um die ausgeführte Aktion zu definieren auf Tastendruck. Es kann jedoch wünschenswert sein, Argumente an diesen Befehl zu übergeben.

Inline-Lambda-Funktion

Eine Lösung besteht darin, Lambdas zu verwenden, bei denen es sich um anonyme Funktionen handelt. Hier ist ein Beispiel:

import Tkinter as Tk

win = Tk.Toplevel()
frame = Tk.Frame(master=win).grid(row=1, column=1)

someNumber = 10

# Pass an argument to the action method
button = Tk.Button(master=frame, text='press', command= lambda: action(someNumber))
Nach dem Login kopieren

In diesem Code erfasst die Lambda-Funktion den Wert von someNumber und übergibt ihn als Argument an die Aktionsmethode, wenn die Schaltfläche gedrückt wird.

Wrapper-Methode

Ein anderer Ansatz besteht darin, eine Wrapper-Methode zu erstellen, die eine beliebige Anzahl von Argumenten akzeptiert und dann die ursprüngliche Aktionsmethode aufruft mit den passenden Argumenten:

import Tkinter as Tk

def action_wrapper(*args):
    action(*args)

someNumber = 10

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

Das obige ist der detaillierte Inhalt vonWie übergebe ich Argumente an Tkinter-Schaltflächenbefehle?. 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