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

Python Tkinter의 바인딩 함수

<시간/>

파이썬에서 tkinter는 다양한 GUI 프로그래밍에 사용할 수 있는 GUI 라이브러리입니다. 이러한 응용 프로그램은 데스크톱 응용 프로그램을 구축하는 데 유용합니다. 이 기사에서는 바인딩 함수라고 하는 GUI 프로그래밍의 한 측면을 볼 것입니다. 이벤트를 함수 및 메서드에 바인딩하여 이벤트가 발생하면 특정 함수가 실행되도록 하는 것입니다.

바인딩 키보드 이벤트

아래 예제에서 우리는 키보드에서 아무 키나 누르면 실행되는 함수를 바인딩합니다. Tkinter GUI 창이 열리면 키보드에서 아무 키나 누르면 키보드가 눌렸다는 메시지가 나타납니다.

예시

from tkinter import *

# Press a buton in keyboard
def PressAnyKey(label):
   value = label.char
   print(value, ' A button is pressed')

base = Tk()
base.geometry('300x150')
base.bind('<Key>', lambda i : PressAnyKey(i))
mainloop()

출력

위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -

Python Tkinter의 바인딩 함수

마우스 클릭 이벤트 바인딩

아래 예에서 tkinter 창의 마우스 클릭 이벤트를 함수 호출에 바인딩하는 방법을 봅니다. 아래 예제에서는 왼쪽 버튼 더블 클릭, 오른쪽 버튼 클릭 및 스크롤 버튼 클릭을 표시하는 이벤트를 호출하여 버튼이 클릭된 tkinter 캔버스의 위치를 ​​표시합니다.

예시

from tkinter import *
from tkinter.ttk import *

# creates tkinter window or root window
base = Tk()
base.geometry('300x150')

# Press the scroll button in the mouse then function will be called
def scroll(label):
   print('Scroll button clicked at x = % d, y = % d'%(label.x, label.y))
# Press the right button in the mouse then function will be called
def right_click(label):
   print('right button clicked at x = % d, y = % d'%(label.x, label.y))
# Press the left button twice in the mouse then function will be called
def left_click(label):
   print('Double clicked left button at x = % d, y = % d'%(label.x, label.y))

Function = Frame(base, height = 100, width = 200)
Function.bind('<Button-2>', scroll)
Function.bind('<Button-3>', right_click)
Function.bind('<Double 1>', left_click)
Function.pack()
mainloop()

출력

위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -

Python Tkinter의 바인딩 함수