Saltar al contenido

Botón Desactivar / Activar en TKinter

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)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *