Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

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

키보드의 특정 키 입력을 감지하여 원하는 동작을 실행하는 것은 GUI 프로그래밍에서 매우 흔히 사용되는 이벤트 처리 방식입니다. Tkinter 애플리케이션에서는 bind() 메서드를 활용하면 키 이벤트를 손쉽게 바인딩할 수 있습니다.

바인딩된 키가 눌리면 미리 정의해 둔 핸들러(Handler) 함수가 호출되어 해당 키 이벤트에 맞는 특정 작업을 수행하게 됩니다.

일반적인 키 이벤트를 처리하려면 bind('<Key>', Handler) 형태로 작성하지만, Enter 키를 특별히 처리하고 싶다면 bind('<Return>', Handler) 함수를 사용해야 합니다. Tkinter에서는 Enter 키가 '<Return>'이라는 이름으로 정의되어 있기 때문입니다.

예제 코드

# tkinter 라이브러리 임포트
from tkinter import *

# tkinter 프레임 인스턴스 생성
win = Tk()

# 창 크기 설정
win.geometry("650x250")

def handler(e):
    label = Label(win, text="You Pressed Enter")
    label.pack()

# 안내 문구가 담긴 Label 생성
Label(win, text="Press Enter on the Keyboard", font=('Helvetica bold', 14)).pack(pady=20)

# Enter 키에 이벤트 바인딩
win.bind('', handler)

win.mainloop()

실행 결과

위 코드를 실행하면 다음과 같은 창이 화면에 나타납니다.

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

이 상태에서 키보드의 "Enter" 키를 누르면, 바인딩된 핸들러 함수가 호출되어 "You Pressed Enter"라는 메시지가 화면에 새로 표시됩니다.

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

추가 팁

Enter 키뿐만 아니라 다양한 키도 같은 방식으로 바인딩할 수 있습니다. 예를 들어 스페이스바는 '<space>', Esc 키는 '<Escape>', 방향키는 '<Up>', '<Down>' 등으로 지정합니다. 또한 특정 위젯이 아닌 전체 창에서 키 이벤트를 받으려면 위 예제처럼 윈도우 객체(win)에 바인딩하면 됩니다.