Hoe de sleutel van een functie in Tkinter te binden

  1. Gebeurtenis koppelen aan een functie
  2. Bind toets indrukken voor een functie
  3. Bind toets indrukken voor een functie in Class Method Example

In deze tutorial zullen we introduceren hoe u een Enter sleutel kunt binden aan een functie in Tkinter.

Houten kozijnen
Houten kozijnen

Gebeurtenis koppelen aan een functie

Het Enter indrukken van een toets is een gebeurtenis, zoals het klikken op een knop, en we kunnen functies of methoden aan deze gebeurtenis binden om de gebeurtenis de opgegeven functie te laten activeren.

widget.bind(event, handler)

Als het event gebeurt, wordt het handler automatisch geactiveerd.

Bind toets indrukken voor een functie

import tkinter as tk

app = tk.Tk()
app.geometry("200x100")

def callback(event):
    label["text"] = "You pressed Enter"

app.bind('<Return>', callback)

label = tk.Label(app, text="")
label.pack()

app.mainloop()
def callback(event):
    label["text"] = "You pressed Enter"

Het event is een verborgen argument dat aan de functie is doorgegeven. Het wordt geactiveerd TypeError als u het niet opgeeft in het functie-invoerargument.

app.bind('<Return>', callback)

We binden de callback functie aan de <Return> gebeurtenis, of met andere woorden, Enter toetsdrukgebeurtenis.

Bind toets indrukken voor een functie in Class Method Example

import tkinter as tk

class app(tk.Frame):
    def __init__(self):
        self.root = tk.Tk()
        self.root.geometry("300x200")
        self.label = tk.Label(self.root, text="")
        self.label.pack()
        self.root.bind('<Return>', self.callback)
        self.root.mainloop()

    def callback(self, event):
        self.label["text"] = "You pressed {}".format(event.keysym)
    
app()

Deze klasse-implementatie is vergelijkbaar met de bovenstaande methode.

We plaatsen het keysym kenmerk van het event object in het weergegeven label.

keysym is het sleutelsymbool van de toetsenbordgebeurtenis. Enter is Return zoals we hierboven hebben geïntroduceerd.

Tkinter bind enter-toets voor een functie