Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Tkinter에서 모든 숫자 키를 바인딩하는 방법은 무엇입니까?

<시간/>

Tkinter 응용 프로그램을 개발하는 동안 키 입력(키보드에서)으로 특정 작업이나 이벤트를 수행해야 하는 경우가 종종 있습니다. Tkinter는 이러한 이벤트를 처리하는 메커니즘을 제공합니다.

바인드(<키>, 콜백)를 사용할 수 있습니다. 특정 유형의 이벤트를 수행하기 위해 바인딩하려는 각 위젯에 대한 기능. 이벤트로 키를 묶을 때마다 해당 키를 누를 때마다 콜백 이벤트가 발생합니다.

예시

예를 들어 보겠습니다. bind("", callback) 함수를 사용하면 사용자가 키(1-9)를 누를 때마다 화면에 메시지가 나타나도록 모든 숫자 키를 바인딩하여 화면에 메시지를 표시할 수도 있습니다.

# Import required libraries
from tkinter import *

# Create an instance of tkinter window
win = Tk()
win.geometry("700x300")

# Function to display a message whenever a key is pressed
def add_label(e):
   Label(win, text="You have pressed: " + e.char, font='Arial 16 bold').pack()

# Create a label widget
label=Label(win, text="Press any key in the range 0-9")
label.pack(pady=20)
label.config(font='Courier 18 bold')

# Bind all the number keys with the callback function
for i in range(10):
   win.bind(str(i), add_label)

win.mainloop()

출력

위의 코드 조각을 실행하면 레이블 위젯이 있는 창이 표시됩니다.

Tkinter에서 모든 숫자 키를 바인딩하는 방법은 무엇입니까?

범위(0-9)의 키를 누를 때마다 화면에 메시지가 표시됩니다.

Tkinter에서 모든 숫자 키를 바인딩하는 방법은 무엇입니까?