这是我的代码:
from tkinter import *
root = Tk()
fields = 'Name', 'Age'
entries = []
UserInps = []
def Form(root, fields):
for field in fields:
row = Frame(root)
vertical = Frame(root)
lab = Label(row, text=field)
ent = Entry(row)
row.pack()
vertical.pack()
lab.pack()
ent.pack()
entries.append((field, ent))
return entries
def Check():
if (entries[0][1].get()) == "B": #checks if the name inputted is "B"
#HERE IS THE CODE THAT I NEED. HOW DO I CHANGE THE BACKGROUND COLOUR OF THE ENTRY BOX FOR NAME TO GREEN
if __name__ == '__main__':
ents = Form(root, fields)
row = Frame(root)
row.pack()
CheckButton = Button(row, text="Check", command=Check)
CheckButton.pack()
root.mainloop()
代码运行良好我只是不知道如何更改名称输入框背景的颜色。所以在这个例子中,就像它说明用户是否输入名称" B",我希望那个特定的输入框(他们输入B的地方)变为蓝色。
之前有人问我为什么在只有一个有两行的表单时使用循环。我的实际项目有更多行。这只是一个愚蠢的版本,可以在这里发布。
答案 0 :(得分:1)
if entries[0][1].get() == "B":
entries[0][1]['bg'] = "BLUE"
或
if entries[0][1].get() == "B":
entries[0][1].config(bg="BLUE")
上的effbot.org