tkiner 프로그램에서 이메일이나 검색어 등 디폴트 예시 값이 있다고 가정하였을 때,
클릭하면 바로 지워지는 것이 사용자에게 편하다. 물론 여러가지 이벤트가 발생될 수 있고 상황에 따라 응용하면 된다.
1.Entry
email = Entry(win)
#해당영역을 좌클릭 했을 경우 claer 함수 호출
email.bind("<Button-1>",clear)
def clear(event):
if email.get() == "example@email.com" :
email.delete(0,len(email.get()))
예시를 주기 위해 example@email.com 을 디폴트 값으로 설정해 둔 경우 사용자가 입력을 위해 좌클릭 하면 clear 함수가 호출된며, 기존 내용이 삭제된다.
다양한 이벤트 명령어는 아래 글에 정리가 잘 되어있다.
076923.github.io/posts/Python-tkinter-23/
2.combobox
num_combo = ttk.Combobox(win, state="readonly")
num_combo.set("200개")
num_combo.bind("<<ComboboxSelected>>", price_change)
def price_change(event):
if total_price != 0:
num_combo = int(num_combo.get().split("개")[0])
total_price = num_combo * price.get()
콤보박스의 수량을 변경할 경우 총 가격이 변경되는 이벤트이다. 라벨이나 text 위젯 등을 연결해서 이벤트 결과를 처리할 수 있다.
반응형
'파이썬 > tkinter' 카테고리의 다른 글
tkinter padx pady 왼쪽, 오른쪽 중 한쪽 방향만 여백 주기 (1) | 2020.10.15 |
---|---|
tkinter text 위젯 스크롤 적용하기 (scrolledtext), 텍스트 색상 변경 (0) | 2020.09.29 |