Tkinter 애플리케이션을 개발하다 보면 키보드의 키 입력에 따라 특정 작업이나 이벤트를 처리해야 하는 경우가 자주 발생합니다. Tkinter는 이러한 이벤트를 손쉽게 처리할 수 있는 메커니즘을 제공합니다.
특정 이벤트를 수행하려면 바인딩하고자 하는 각 위젯에 bind(<Key>, callback) 함수를 사용하면 됩니다. 키를 이벤트에 바인딩하면, 해당 키가 눌릴 때마다 지정된 콜백 함수가 자동으로 호출됩니다.
예제
간단한 예제를 살펴보겠습니다. bind() 함수를 활용하면 모든 숫자 키를 바인딩하여, 사용자가 0~9 사이의 키를 누를 때마다 화면에 메시지가 표시되도록 만들 수 있습니다.
# 필요한 라이브러리 임포트
from tkinter import *
# tkinter 윈도우 인스턴스 생성
win = Tk()
win.geometry("700x300")
# 키가 눌릴 때마다 메시지를 표시하는 함수
def add_label(e):
Label(win, text="You have pressed: " + e.char, font='Arial 16 bold').pack()
# 레이블 위젯 생성
label=Label(win, text="Press any key in the range 0-9")
label.pack(pady=20)
label.config(font='Courier 18 bold')
# 모든 숫자 키를 콜백 함수에 바인딩
for i in range(10):
win.bind(str(i), add_label)
win.mainloop()출력 결과
위 코드를 실행하면 레이블 위젯이 포함된 창이 화면에 나타납니다.

이후 0~9 범위의 숫자 키를 누를 때마다 눌린 키에 대한 메시지가 화면에 표시됩니다.

이처럼 반복문과 bind() 함수를 조합하면 개별적으로 키를 바인딩하지 않고도 여러 키 입력을 한 번에 효율적으로 처리할 수 있습니다. 이 방법은 숫자 키뿐만 아니라 알파벳 키나 특수 키 등 다양한 키 입력 이벤트 처리에도 동일하게 응용할 수 있습니다.