这是我的代码,我试图使一个框架上的边框在另一个被点击时消失,并让被点击的框架得到一个边框。我将当前带边框的小部件存储在self.selectedColor
中,但是当我试图在newDrawColor
中使用该变量时,该变量是NoneType。准确的错误是:
Exception in Tkinter callback
Traceback (most recent call last):
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk/Tkinter.py", line 1410, in __call__
return self.func(*args)
File "test.py", line 22, in newDrawColor
self.selectedColor.config(highlightthickness=0)
AttributeError: 'NoneType' object has no attribute 'config'
代码如下:
^{pr2}$有什么意见吗?运行清除变量的主循环时是否发生了什么?我能做些什么来解决这个问题?在
编辑:
有趣的是,使用一个全局变量(我知道这是个坏习惯)。另外,经过一点调试之后,在构建应用程序类之后,但在运行mainloop之前,该属性似乎被设置为NoneType。仍然希望有一个非全球性的解决方案。在
答案比我想象的要简单得多;在构造函数函数中,在调用init UI之后,我设置self.selectedColor对任何人都没有。在将赋值移到initUI之前,我最初这样做是为了作为默认值,但忘记删除该行。在
相关问题 更多 >
编程相关推荐