from tkinter import *
import random
root = Tk()
root.title('command')
root.resizable(0,0)
def colorchange():
#使用随机数计算了 Label 组件的背景色,并根据背景色的灰度值来计算 Label 组件的前景色:
# 生成3个随机数
ct = [random.randrange(256) for x in range(3)]
# 将元组中3个随机数格式化成16进制数,转成颜色格式
bg_color = "#%02x%02x%02x" % tuple(ct)
global label
label['bg'] = bg_color
# 四舍五入求整计算灰度值公式
grayness = int(round(0.299 * ct[0] + 0.587 * ct[1] + 0.114 * ct[2]))
# 如果 grayness 小于 125,则说明背景色较深,前景色使用白色;否则说明背景色较浅,前景色使用黑色。
label['fg'] = 'black' if grayness > 125 else 'white'
label = Label(root, text='改变Label前景背景颜色',font=('楷体', 20), bg='black',fg='white',width=25)
label.pack()
btn = Button(root, text='单击改变颜色', command=colorchange)
btn.pack()
root.mainloop()