Python - Tkinter - GUI
问题描述:
我正在为使用Python的当前项目创建一个新的应用程序。这是我第一次使用它,它一直是一种学习体验......Python - Tkinter - GUI
我的应用程序中有一个按钮,它调用Python中的askcolor()
函数。一切工作正常,但在此之后,它给了我以下错误。
AttributeError: 'str' object has no attribute 'set'
这是我在我的应用程序有工作顺序:
-
上
Select Color
按钮,用户点击:self.bc_bttn=Button(self, text='Select Color', command=lambda: self.callback())
-
的函数调用
callback
功能和我选择合适的颜色def callback(self): (triple, hexstr) = askcolor() if triple: triple_string = str(triple) triple_string2 = re.findall('[0-9, ]',triple_string); triple_bkgColor = ''.join(triple_string2) print triple_bkgColor self.overlayColorValue.set(triple_bkgColor)
self.overlayColorValue.set(triple_bkgColor)
更改文本字段项的值,因此用户将看到应用程序的正确值-
我按下
Save
按钮self.overlayColorValue = self.bc_ent.get() body.set('overlay-color', self.overlayColorValue)
-
我的更改写入到XML文件
tree.write(CONFIG_XML)
-
这一次一切正常,但如果我想再次做同样的事情改变颜色。然后,我有以下错误,当我点击
Select Color
按钮AttributeError: 'str' object has no attribute 'set'
答
您与self.bc_ent.get()
的返回值,这是一个str
更换您的self.overlayColorValue
属性。
据推测,在此之前,它是一个标签,你想叫.set()
它来代替:
self.overlayColorValue.set(self.bc_ent.get())
body.set('overlay-color', self.overlayColorValue.get())
我试图修正格式。您应该验证代码中的缩进并根据需要进行修复。另外,试着想出一个更具描述性的标题。目前的更像是一个标签列表,我添加了真正的标签。按[编辑]改善您的问题。 – 2013-04-25 19:08:14