Python tkinter Bind 함수에 대해 살펴보겠습니다.
Bind함수로 위젯들에 Event 별로 실행할 함수를 설정할 수 있습니다.
Bind 사용하기
import tkinter
win = tkinter.Tk();
def func1(event):
print("func1 - leftMouseClick");
def func2(event):
print("func2 - rightMouseClick");
label = tkinter.Label(win, text="click this");
label.pack();
label.bind("<Button-1>", func1);
label.bind("<Button-2>", func2);
win.mainloop();
위 코드는 라벨에 왼쪽 마우스 클릭과 오른쪽 마우스 클릭 시에 각각 함수를 실행하도록
bind함수로 이벤트와 함수를 연결했습니다.
이런식으로 위젯들에 이벤트가 발생했을 때 함수들이 실행되도록 연결하여
이벤트별로 실행합니다.
Event 종류
| 분류 | 이름 | 기능 |
| Button | <Button-1> | 마우스 왼쪽버튼 누를 때 |
| <Button-2> | 마우스 휠 누를 때 | |
| <Button-3> | 마우스 오른쪽버튼 누를 때 | |
| <Button-4> | 스크롤업 | |
| <Button-5> | 스크롤다운 | |
| <MouseWheel> | 마우스 휠 이동 | |
| Motion | <Motion> | 마우스 움직일 때 |
| <B1-Motion> | 마우스 왼쪽버튼 누른상태로 움직일 때 | |
| <B2-Motion> | 마우스 휠 누른상태로 움직일 때 | |
| <B3-Motion> | 마우스 오른쪽버튼 누른 상태로 움직일 때 | |
| Release | <ButtonRelease-1> | 마우스 왼쪽버튼 뗄 때 |
| <ButtonRelease-2> | 마우슨 휠 버튼 뗄 때 | |
| <ButtonRelease-3> | 마우스 오른쪽버튼 뗄 때 | |
| DoubleClick | <Double-Button-1> | 마우스 왼쪽버튼 더블 클릭할 때 |
| <Double-Button-2> | 마우스 휠버튼 더블 클릭할 때 | |
| <Double-Button-3> | 마우스 오른쪽버튼 더블 클릭할 때 | |
| WidgetOperation | <Enter> | 위젯안으로 마우스포인터 진입시 |
| <Leave> | 위젯밖으로 마우스포인터 나갈시 | |
| <FocusIn> | Tab키로 위젯선택시 | |
| <FocusOut> | Tab키로 위젯선택풀릴시 | |
| <Configure> | 위젯 모양 수정시 | |
| KeyInput | <Key> | 특정 키가 입력되었을 때 <A>, <3>, <F2> 등... |
| <Return> | Enter키 입력시 | |
| <Cancel> | Break키 입력시 | |
| <BackSpace> | BackSpace키 입력시 | |
| <Caps_Lock> | CapsLock키 입력시 | |
| <Prior> | Page Up키 입력시 | |
| <Up>, <Down>, <Right>, <Left> | 방향키 입력시 | |
| Assistant KeyInput | <Shift-Key> | Shift + 특정 Key 입력시 |
| <Control-Key> | Ctrl + 특정 Key 입력시 | |
| <Alt-Key> | Alt + 특정 Key 입력시 |