尝试选择然后打印它的颜色,打印位工作只需要让颜色部分工作。如果您需要查看更多代码,请询问。
def mColour():
color = colorchooser.askcolor()
color_name = color[1]
mlabel2 = Label(mGui,text=color).pack()
messagebox.showinfo(title = "Colour",message = "This feature has not been fully added yet.")
return
def mhello():
mtext = ment.get()
fg=color_name
mlabel2 = Label(mGui,text=mtext).pack()
return
错误:
color_name not defined
答案 0 :(得分:2)
据我所知,您正在尝试访问在mColour
的本地范围内创建的变量(这意味着它不在mhello
的范围内)。您可以通过mColour
返回color_name
:
def mColour():
color = colorchooser.askcolor()
color_name = color[1]
mlabel2 = Label(mGui,text=color).pack()
messagebox.showinfo(title = "Colour",message = "This feature has not been fully added yet.")
#################
return color_name
#################
然后在mhello
中访问该值,如下所示:
def mhello():
mtext = ment.get()
############
fg=mColour()
############
mlabel2 = Label(mGui,text=mtext).pack()
另外,我想谈两件事:
1)函数末尾的空return
什么都不做。
2)pack
方法返回None
。您的代码应如下所示:
mlabel2 = Label(mGui,text=mtext)
mlabel2.pack()
现在mlabel2
指向标签,就像它应该的那样。
答案 1 :(得分:1)
我在你的帮助下找到了解决方案。
#colour chooser
def mColour():
color = colorchooser.askcolor()
color_name = color[1]
mlabel2 = Label(mGui,text=color).pack()
messagebox.showinfo(title = "Colour",message = "This feature has not been fully added yet.")
return color_name
#printing message
def mhello():
mtext = ment.get()
mlabel2 = Label(mGui,text=mtext, fg = mColour()) # i put the fg and the mcolour inside here insted.
mlabel2.pack()