Solución:
Un Tkinter Button
tiene tres estados: active, normal, disabled
.
Tu estableces el state
opción a disabled
para atenuar el botón y que no responda. Tiene el valor active
cuando el mouse está sobre él y el valor predeterminado es normal
.
Con esto, puede verificar el estado del botón y realizar la acción requerida. Aquí está el código de trabajo.
from tkinter import *
fenster = Tk()
fenster.title("Window")
def switch():
if b1["state"] == "normal":
b1["state"] = "disabled"
b2["text"] = "enable"
else:
b1["state"] = "normal"
b2["text"] = "disable"
#--Buttons
b1 = Button(fenster, text="Button", height=5, width=7)
b1.grid(row=0, column=0)
b2 = Button(text="disable", command=switch)
b2.grid(row=0, column=1)
fenster.mainloop()
El problema está en tu switch
función.
def switch():
b1["state"] = DISABLED
Cuando haces clic en el botón, switch
se llama cada vez. Para un comportamiento de alternancia, debe indicarle que vuelva a NORMAL
estado.
def switch():
if b1["state"] == NORMAL:
b1["state"] = DISABLED
else:
b1["state"] = NORMAL
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)