在Tkinter中禁用按钮(Python)

时间:2018-06-11 10:10:29

标签: python python-3.x python-2.7 tkinter

enter image description here

嗨,我有一些问题要问

我只想在启动程序时禁用该按钮

在附加图片中,看起来该按钮已被禁用,但它对我的点击事件或键盘事件的响应

我该怎么办?

感谢您的回答

from Tkinter import *


def printSomething(event):
    print("Print")

#Start GUI
gui = Tk()
gui.geometry("800x500")
gui.title("Button Test")

mButton = Button(text="[a] Print",fg="#000",state="disabled")

mButton.place(x=5,y=10)

mButton.bind('<Button-1>',printSomething)
gui.bind('a',printSomething)

gui.mainloop()

1 个答案:

答案 0 :(得分:1)

您需要unbind该活动。 state="disabled" / state=DISABLED按下disabled按钮,但事件并非unbind。您需要unbind相应的events才能实现此目标。如果您想再次启用该按钮,则需要再次bind该事件。喜欢:

from Tkinter import *

def printSomething(event):
    print("Print")

#Start GUI
gui = Tk()
gui.geometry("800x500")
gui.title("Button Test")

mButton = Button(text="[a] Print",fg="#000",state="disabled")

mButton.place(x=5,y=10)

mButton.bind('<Button-1>',printSomething)
mButton.unbind("<Button-1>") #new line added
gui.bind('a',printSomething)

gui.mainloop()