Tkinter 에서 Enter 키를 함수에 바인딩하는 방법

Jinku Hu 2023년1월30일
  1. 이벤트를 함수에 바인딩
  2. 키 누름 기능에 바인딩
  3. 클래스 방법 예에서 함수에 키 누름 바인드
Tkinter 에서 Enter 키를 함수에 바인딩하는 방법

이 튜토리얼에서는 Tkinter 의 함수에 Enter키를 바인딩하는 방법을 소개합니다.

이벤트를 함수에 바인딩

Enter키 누르기는 버튼 클릭과 같은 이벤트이며,이 이벤트에 함수 나 메소드를 바인딩하여 이벤트가 지정된 함수를 트리거하도록 할 수 있습니다.

widget.bind(event, handler)

event 가 발생하면 handler 가 자동으로 트리거됩니다.

키 누름 기능에 바인딩

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"

event 는 함수에 전달 된 숨겨진 인수입니다. 함수 입력 인수에 제공하지 않으면 TypeError가 발생합니다.

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

우리는 callback 함수를<Return>이벤트, 즉 Enter 키 누르기 이벤트에 바인딩합니다.

클래스 방법 예에서 함수에 키 누름 바인드

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()

이 클래스 구현은 위의 방법과 유사합니다.

event 객체의 keysym 속성을 표시된 레이블에 넣습니다.

keysym 은 키보드 이벤트의 키 심볼입니다. Enter 는 위에서 소개 한 Return 입니다.

Tkinter 바인드 입력 키

작가: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

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