回答问题

我正在尝试制作一个像开关一样的按钮,所以如果我单击禁用按钮,它将禁用“按钮”(有效)。如果我再次按下它,它将再次启用它。

我尝试了 if, else 之类的东西,但没有让它工作。这是一个例子:

from tkinter import *
fenster = Tk()
fenster.title("Window")

def switch():
    b1["state"] = DISABLED

#--Buttons
b1=Button(fenster, text="Button")
b1.config(height = 5, width = 7)
b1.grid(row=0, column=0)    

b2 = Button(text="disable", command=switch)
b2.grid(row=0,column=1)

fenster.mainloop()

Answers

TkinterButton具有三个状态:active, normal, disabled

您将state选项设置为disabled以使按钮变灰并使其无响应。当鼠标在它上面时它的值是active,默认是normal

使用它,您可以检查按钮的状态并采取所需的操作。这是工作代码。

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()
Logo

Python社区为您提供最前沿的新闻资讯和知识内容

更多推荐