谢谢你的聆听......抱歉我的英语不好。 我有一个简单的python脚本的问题,我不知道如何粉碎我的头。
这就是代码。很简单也没用(我正在学习python,但我的编程技巧很难实现)。
import tkinter as tk
class hello:
button_state = [0,0,0,0,0,0,0,0,0]
def __init__(self):
self.root = tk.Tk()
self.button = tk.Button(self.root, text=self.button_state[0],
command=self.check(0))
self.button.pack()
def check(self,x):
if x == 0:
self.button_state[x] = 1
self.button.config(text=self.button_state[x])
app = hello()
app.root.mainloop()
和错误:
AttributeError: 'hello' object has no attribute 'button'
我不知道为什么如果我使用标签问题不存在。我尝试尝试,我认为错误是在按钮命令中的参数调用?
提前致谢:)
答案 0 :(得分:0)
您在 init 中使用command = self.check(0)。在check()中使用self.button.config。但是对象中没有这个属性(self.button)。也许,这段代码可以帮到你。另外在你好你使用类属性button_state - 你必须理解这一点:见https://docs.python.org/2/tutorial/classes.html(#错误地使用类变量)
import Tkinter as tk
class hello:
button_state = [0,0,0,0,0,0,0,0,0]
def __init__(self):
self.root = tk.Tk()
self.button = tk.Button(self.root, text=self.button_state[0], command=self.check(0))
self.button.config(text=self.button_state[0])
self.button.pack()
def check(self,x):
if x == 0:
self.button_state[x] = 1
app = hello()
app.root.mainloop()