Tkinter小部件变得不典型

2024-10-03 23:23:42 发布

您现在位置:Python中文网/ 问答频道 /正文

这是我的代码,我试图使一个框架上的边框在另一个被点击时消失,并让被点击的框架得到一个边框。我将当前带边框的小部件存储在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。仍然希望有一个非全球性的解决方案。在


Tags: 代码inpyself框架configtkinterlib
1条回答
网友
1楼 · 发布于 2024-10-03 23:23:42

答案比我想象的要简单得多;在构造函数函数中,在调用init UI之后,我设置self.selectedColor对任何人都没有。在将赋值移到initUI之前,我最初这样做是为了作为默认值,但忘记删除该行。在

相关问题 更多 >