我已经在函数中创建了一个按钮,单击该按钮时,会运行一条命令来更改按钮的颜色。 但是,这在我遇到错误时不起作用,但是我需要在函数中创建按钮。
当按钮在函数外部定义时起作用,并且我认为问题在于函数结束后忘记了数据。
from tkinter import *
root = Tk()
def ColourChange(Letter):
NameButton.config(bg = "red")
def Change():
Letter = "a"
NameButton=Button(root, text = "This", command = lambda Letter = Letter:
ColourChange(Letter)
NameButton.pack()
Change()
当我单击按钮时,我希望改变背景的颜色。 实际错误是
NameButton.config(bg =“ red”)NameError:名称'NameButton'未定义”
答案 0 :(得分:1)
设置global variable
,以便其他功能可以访问它。还应将NameButton.pack()
移到NameButton=Button(root,text="This",command=lambda Letter=Letter: ColourChange(Letter))
之后的新行。
from tkinter import *
root=Tk()
def ColourChange(Letter):
NameButton.config(bg="red")
def Change():
global NameButton # global variable
Letter="a"
NameButton=Button(root,text="This",command=lambda Letter=Letter: ColourChange(Letter))
NameButton.pack()
#NameButton.pack()
Change()