Python-Tkinter-GUI

我正在使用Python为当前项目创建一个新的应用程序.这是我第一次使用它,这是一次学习经历.

我的应用程序中有一个按钮,可从Python调用askcolor()函数.第一次一切都正常,但是之后,出现以下错误.

AttributeError: 'str' object has no attribute 'set'

这是我在应用程序中执行的顺序:

>用户单击“选择颜色”按钮:

self.bc_bttn=Button(self, text='Select Color', command=lambda: self.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)更改文本字段条目的值,以便用户在应用程序上看到正确的值
>我按保存按钮

self.overlayColorValue = self.bc_ent.get()
body.set('overlay-color', self.overlayColorValue)

>我的更改被写入xml文件

tree.write(CONFIG_XML)

>这次一切正常,但是如果我想再次做同样的事情来改变颜色.然后当我单击“选择颜色”按钮时出现以下错误

AttributeError: 'str' object has no attribute 'set'
最佳答案
您将self.overlayColorValue属性替换为self.bc_ent.get()的返回值,它是一个str.

大概在那之前,它是一个标签,而您想在其上调用.set():

self.overlayColorValue.set(self.bc_ent.get())
body.set('overlay-color', self.overlayColorValue.get())

转载注明原文:Python-Tkinter-GUI - 代码日志