单击按钮时更改输入框的背景颜色(带循环的输入框)

时间:2018-01-08 01:18:08

标签: python tkinter background-color tkinter-entry

这是我的代码:

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的地方)变为蓝色。

之前有人问我为什么在只有一个有两行的表单时使用循环。我的实际项目有更多行。这只是一个愚蠢的版本,可以在这里发布。

1 个答案:

答案 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")

请参阅Entry.config()

上的effbot.org