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

Python 3에서 Tkinter로 키보드 단축키 구현하는 방법

Tkinter 윈도우는 다양한 애플리케이션 개발에 활용할 수 있는 수많은 내장 기능과 특성을 제공합니다. 때때로 특정 키나 함수 입력을 통해 애플리케이션의 일부 동작을 실행해야 하는 경우가 있습니다. 이러한 기능은 특정 키를 해당 작업을 수행하는 콜백(callback) 함수와 바인딩(binding)함으로써 구현할 수 있습니다.

바인딩할 수 있는 키의 범위는 매우 넓어서 마우스 버튼부터 키보드 키까지 다양하며, 심지어 여러 키를 조합한 키보드 단축키(Keyboard Shortcut) 형태로도 콜백을 연결할 수 있습니다.

예제 코드

다음 예제에서는 Ctrl + X 키 조합을 누르면 프로그램이 종료되도록 바인딩하는 방법을 살펴보겠습니다.

#Import the Tkinter Library
from tkinter import *

#Create an instance of Tkinter Frame
win = Tk()

#Set the geometry of window
win.geometry("700x350")

#Define a callback function for exit
def quit_program(e):
    win.destroy()

#Add a Label widget
label = Label(win, text= "Press Ctrl + x to Exit", font= ('Helvetica 15 bold'))
label.pack(pady= 40)

#Bind the Keyboard shortcut Key
win.bind('<Control-x>', quit_program)
win.mainloop()

실행 결과

위 코드에서는 <Control-x>라는 키 조합을 윈도우에 바인딩했습니다. 프로그램을 실행한 후 안내 문구대로 Ctrl + X 키를 함께 누르면 콜백 함수 quit_program이 호출되어 창이 닫히면서 프로그램이 종료됩니다.

Python 3에서 Tkinter로 키보드 단축키 구현하는 방법

핵심 포인트 정리

  • bind() 메서드를 사용하면 위젯이나 윈도우에 키보드·마우스 이벤트를 연결할 수 있습니다.
  • 단축키 조합은 <Control-x>, <Shift-A>, <Alt-F4>처럼 꺾쇠 괄호 안에 수식 키와 일반 키를 함께 지정합니다.
  • 바인딩된 콜백 함수는 이벤트 객체(e)를 매개변수로 받아야 하므로, 함수 정의 시 반드시 인자를 포함해야 합니다.