반응형
엔트리, 버튼 같은 위젯을 비활성화 시키고 싶을 때는 state 속성을 바꿔주면 된다.
위젯 비활성화
state 속성을 disabled 시키면된다.
entry.config(state="disabled")
위젯 활성화
state 속성을 normal로 바꿔준다.
entry.config(state="normal")
엔트리, 버튼 비활성화 전체 코드
엔트리와 버튼을 비활성화 시키는 예제다.
import tkinter as tk
#윈도우 생성
window = tk.Tk()
window.title('Example') #최상단 타이틀 이름
window.geometry('500x500+220+200') #윈도우 창 화면 크기
# 엔트리 추가
entry = tk.Entry(window)
entry.pack(side="left", anchor="nw")
entry.config(state="disabled")
# 버튼 추가
button = tk.Button(window, text="report")
button.pack()
button.config(state="disabled")
#이벤트 루프
window.mainloop()
실행 결과
위에 코드를 실행 시키면 엔트리에 입력이 안되며, 버튼 클릭도 안되도록 비활성화 된다.
위젯 비활성화 응용 예제
버튼을 누를 때 마다 엔트리가 활성화/ 비활성화 되는 코드 예제다.
import tkinter as tk
# 윈도우 생성
window = tk.Tk()
window.title('Example') # 최상단 타이틀 이름
window.geometry('500x500+220+200') # 윈도우 창 화면 크기
entryOnOff = 0
def on_button_click():
global entryOnOff
if entryOnOff == 0:
entry.config(state="normal")
entryOnOff = 1
else:
entry.config(state="disabled")
entryOnOff = 0
# 엔트리 추가
entry = tk.Entry(window)
entry.pack(side="left", anchor="nw")
entry.config(state="disabled")
# 버튼 추가
button = tk.Button(window, text="report", command=on_button_click)
button.pack()
# 이벤트 루프
window.mainloop()
반응형
'Python' 카테고리의 다른 글
[Python] 주피터 노트북 보다 좋은 주피터 랩(JupyterLab) 사용법 (0) | 2024.03.07 |
---|---|
[Python] 아나콘다 다운로드 및 설치, 주피터 노트북, 주피터 랩 실행하기 (1) | 2024.03.06 |
[Python] Tkinter 레이블, 엔트리, 버튼 폰트 바꾸기(글꼴, 크기, 색상) (0) | 2024.03.04 |
[Python] 파이썬 TKinter 모듈로 GUI 만들기 (0) | 2024.03.03 |
[Python] 판다스(Pandas) : CSV 파일 읽어오기 (0) | 2024.02.10 |