在Tkinter中动态更改小部件的背景颜色
要在Tkinter应用程序中配置小部件的属性,我们通常使用“ configure(options)** ”方法。我们可以自定义小部件的背景颜色、字体属性以及应用程序中的其他特定属性。
有时我们可能想动态更改小部件的背景颜色。虽然我们也可以定义颜色列表,并在迭代列表时更改颜色。
示例
#导入所需库
from tkinter import *
from random import shuffle
import time
#创建一个Tkinter窗口实例
win = Tk()
win.geometry("700x250")
#为所有小部件添加字体
win.option_add("*Font", "aerial")
#为所有小部件定义背景颜色
def change_color():
colors = ['#e9c46a', '#e76f51', '#264653', '#2a9d8f', '#e85d04', '#a2d2ff', '#06d6a0', '#4d908e']
while True:
shuffle(colors)
for i in range(0, len(colors)):
win.config(background=colors[i])
win.update()
time.sleep(1)
#显示一堆小部件
label = Label(win, text="Hello World", bg='white')
label.pack(pady=40, padx=30)
#创建一个按钮来更改小部件的背景颜色
btn = Button(win, text="Button", command=change_color)
btn.pack(pady=10)
win.mainloop()
输出
当我们编译上面的代码时,它将显示一个带有标签小部件和按钮的窗口。
当我们按下按钮时,它将调用 change_color() 函数,以动态更改窗口的背景颜色。