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

Tkinter에서 Shift+Tab 키 조합에 이벤트 바인딩하기

Tkinter의 이벤트(Event)는 사용자가 특정 작업이나 동작을 수행해야 하는 애플리케이션을 만들 때 매우 유용하게 활용됩니다. Tkinter에서 이벤트는 일반적으로 해당 이벤트의 로직과 코드를 담고 있는 함수를 정의하는 방식으로 생성됩니다. 그리고 이렇게 만든 이벤트를 실제로 호출하려면 특정 키나 버튼 위젯과 바인딩(bind)해야 합니다.

바인딩은 bind() 함수를 통해 수행되며, 이 함수는 ('<키 조합>', 콜백 함수) 두 가지 매개변수를 받습니다. 이를 통해 지정한 키 입력이 발생했을 때 이벤트가 실행되도록 설정할 수 있습니다.

아래 예제에서는 같은 방식을 활용하여 <Shift + Tab> 키 조합을 누르면 팝업 메시지가 나타나도록 구현해 보겠습니다.

예제 코드

# 필요한 라이브러리 임포트
from tkinter import *
from tkinter import messagebox

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

# 윈도우 크기 설정
win.geometry("700x350")

# 팝업 메시지를 표시하는 함수 정의
def show_msg(e):
    messagebox.showinfo("Message", "안녕하세요! 잘 지내시길 바랍니다.")

# 안내용 Label 위젯 추가
Label(win, text="관리자가 메시지를 보냈습니다. "
      "<Shift+Tab> 키를 눌러 메시지를 확인하세요.",
      font=('Aerial 15')).pack(pady=40)

# Shift+Tab 키와 이벤트를 바인딩
win.bind('<Shift-Tab>', lambda e: show_msg(e))
win.mainloop()

실행 결과

위 프로그램을 실행하면 레이블(Label) 위젯이 포함된 창이 화면에 나타납니다. 이 상태에서 <Shift + Tab> 키 조합을 누르면 화면에 메시지 박스가 팝업으로 표시됩니다.

Tkinter에서 Shift+Tab 키 조합에 이벤트 바인딩하기

핵심 정리

  • bind() 함수: 위젯 또는 윈도우에 키 입력과 콜백 함수를 연결합니다.
  • 키 조합 문법: 여러 키를 함께 사용할 경우 <Shift-Tab>처럼 하이픈(-)으로 연결하여 작성합니다.
  • 콜백 함수: 이벤트 객체(e)를 매개변수로 받도록 정의해야 합니다.