单击按钮时更改输入框的背景颜色,(带循环的输入框)
Change background colour of entry box when button clicked, (entry box with loop)
这是我的代码:
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 的地方)变为蓝色。
并且在任何人问我为什么在只有两行的表单时使用循环之前。我的实际项目有更多行。这只是此处 post 的简化版本。
if entries[0][1].get() == "B":
entries[0][1]['bg'] = "BLUE"
或
if entries[0][1].get() == "B":
entries[0][1].config(bg="BLUE")
这是我的代码:
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 的地方)变为蓝色。
并且在任何人问我为什么在只有两行的表单时使用循环之前。我的实际项目有更多行。这只是此处 post 的简化版本。
if entries[0][1].get() == "B":
entries[0][1]['bg'] = "BLUE"
或
if entries[0][1].get() == "B":
entries[0][1].config(bg="BLUE")