Tkinter 버튼 상태를 변경하는 방법
Tkinter Button에는 두 가지 상태가 있습니다.
NORMAL
- 사용자가 버튼을 클릭 할 수 있음- 비활성화 됨-버튼을 클릭 할 수 없습니다
try:
import Tkinter as tk
except:
import tkinter as tk
app = tk.Tk()
app.geometry("300x100")
button1 = tk.Button(app, text="Button 1", state=tk.DISABLED)
button2 = tk.Button(app, text="EN/DISABLE Button 1")
button1.pack(side=tk.LEFT)
button2.pack(side=tk.RIGHT)
app.mainloop()
왼쪽 버튼은 비활성화되어 있으며 (회색으로 표시) 오른쪽 버튼은 정상입니다.
사전과 같은 방법이나 구성과 같은 방법으로 상태를 수정할 수 있습니다.
try:
import Tkinter as tk
except:
import tkinter as tk
def switchButtonState():
if button1["state"] == tk.NORMAL:
button1["state"] = tk.DISABLED
else:
button1["state"] = tk.NORMAL
app = tk.Tk()
app.geometry("300x100")
button1 = tk.Button(app, text="Python Button 1", state=tk.DISABLED)
button2 = tk.Button(app, text="EN/DISABLE Button 1", command=switchButtonState)
button1.pack(side=tk.LEFT)
button2.pack(side=tk.RIGHT)
app.mainloop()
button2
를 클릭하면 switchButtonState
함수를 호출하여 button1
상태를 DISABLED
에서 NORMAL
로 또는 그 반대로 전환합니다.
state
는 Tkinter Button
위젯의 옵션입니다. Button
위젯의 모든 옵션은 사전의 Button
의 keys
입니다.
def switchButtonState():
if button1["state"] == tk.NORMAL:
button1["state"] = tk.DISABLED
else:
button1["state"] = tk.NORMAL
state
는 Button
사전에서 state
의 값을 변경하여 업데이트됩니다.
state
는 Button
객체의 config
메소드를 사용하여 수정할 수도 있습니다. 따라서 switchButtonState()
함수는 다음과 같이 구현 될 수 있습니다.
def switchButtonState():
if button1["state"] == tk.NORMAL:
button1.config(state=tk.DISABLED)
else:
button1.config(state=tk.NORMAL)
tk.NORMAL
과 tk.DISABLED
대신 normal
과 disabled
문자열도 간단하게 사용할 수 있습니다.
Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.
LinkedIn Facebook