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
입니다.
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