Tkinter Tutorial - Pulsante
Il widget del pulsante Tkinter è abbastanza simile al widget Tkinter Label. Ha quasi le stesse opzioni di quelle dell’etichetta, tranne che ha un’opzione extra default
. Daremo i dettagli di questo default
dopo un esempio di pulsante di base.
Si possono generare due pulsanti più semplici usando i codici demo qui sotto.
from sys import version_info
if version_info.major == 2:
import Tkinter as tk
elif version_info.major == 3:
import tkinter as tk
app = tk.Tk()
button1 = tk.Button(app, text="Python Label 1")
button2 = tk.Button(app, text="Python Label 2")
button1.pack(side=tk.LEFT)
button2.pack(side=tk.LEFT)
app.mainloop()
La finestra con due pulsanti adiacenti mostra dopo aver eseguito i codici.
Opzione default
del pulsante Tkinter
L’opzione default
in button dice che il pulsante è il pulsante predefinito nella GUI, per esempio, quello che viene invocato automaticamente quando l’utente preme il tasto Enter
o Return
.
Tkinter Comando del pulsante Callback
L’opzione command
richiama la funzione di richiamo quando si preme il pulsante.
from sys import version_info
if version_info.major == 2:
import Tkinter as tk
elif version_info.major == 3:
import tkinter as tk
app = tk.Tk()
labelExample = tk.Button(app, text="0")
def change_label_number():
counter = int(str(labelExample["text"]))
counter += 1
labelExample.config(text=str(counter))
buttonExample = tk.Button(app, text="Increase", width=30, command=change_label_number)
buttonExample.pack()
labelExample.pack()
app.mainloop()
Crea un pulsante e un widget per le etichette nella finestra principale. Il numero nel testo dell’etichetta viene aumentato di 1 ogni volta che si fa clic sul pulsante.
def change_label_number():
counter = int(str(labelExample["text"]))
counter += 1
labelExample.config(text=str(counter))
Il change_label_number
è la funzione invocata quando si fa clic sul pulsante. Esso ottiene il numero di etichetta e poi imposta l’etichetta aumentata di uno.
buttonExample = tk.Button(app, text="Increase", width=30, command=change_label_number)
Costruisce il legame tra il pulsante e la sua funzione di richiamo.
Tkinter Button Command Callback Funzione di richiamo del pulsante con argomenti
Avete bisogno di un oggetto partial
di functools se avete bisogno di passare argomenti alle funzioni di callback. Gli oggetti partial
sono oggetti callabili con gli argomenti posizionali arg
e gli argomenti di parole chiave keywords
.
Di seguito un frammento di codice mostra come usare questa funzione partial
nel comando del pulsante.
def change_label_number(num):
counter = int(str(labelExample["text"]))
counter += num
labelExample.config(text=str(counter))
buttonExample = tk.Button(
app, text="Increase", width=30, command=partial(change_label_number, 2)
)
Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.
LinkedIn Facebook