我已经看到很多解释如何禁用启用按钮但不涉及类时。此处的错误位于“button_1.config ...”行,错误消息是未定义button_1。我认为这是因为它采用了不同的方法,但我不确定如何从不同的方法中禁用按钮。任何帮助表示赞赏。
from tkinter import *
class menu:
def __init__(self, master):
self.master = master
button_1 = Button(self.master, text = 'test', command = self.correct).pack()
def correct(self):
button_1.config(state = DISABLED)
def window():
root = Tk()
menu(root)
root.mainloop()
if __name__ == '__main__':
window()
答案 0 :(得分:1)
如果您要在类中的方法之间访问该按钮,则该按钮必须是实例变量。只需在其前面添加self.
即可。它也需要在一个单独的行上packed
,否则实例变量self.button_1
将返回None:
class menu:
def __init__(self, master):
self.master = master
self.button_1 = Button(self.master, text = 'test', command = self.correct)
self.button_1.pack()
def correct(self):
self.button_1.config(state = DISABLED)