python中scale函数_Python Tkinter Scale lambda函数

Scale提供x。当你给Scale小部件一个函数时,它用当前值调用该函数。在

我将以一种理智的方式重写您的代码,这样您可能会更好地遵循它:from tkinter import *

color = [0,0,0] # standard red, green, blue (RGB) color triplet

def convert_color(color):

'''converts a list of 3 rgb colors to an html color code

eg convert_color(255, 0, 0) -> "#FF0000

'''

return '#{:02X}{:02X}{:02X}'.format(color[0],color[1],color[2])

def show_color(value, index):

'''

update one of the color triplet values

index refers to the color. Index 0 is red, 1 is green, and 2 is blue

value is the new value'''

color[int(index)] = int(value) # update the global color triplet

hex_code = convert_color(color) # convert it to hex code

color_label.configure(bg=hex_code) #update the color of the label

color_text.configure(text='RGB: {!r}\nHex code: {}'.format(color, hex_code)) # update the text

def update_red(value):

show_color(value, 0)

def update_green(value):

show_color(value, 1)

def update_blue(value):

show_color(value, 2)

root = Tk()

red_slider = Scale(orient='horizontal',from_=0,to=255,command=update_red)

red_slider.grid(row=0,column=0)

green_slider = Scale(orient='horizontal',from_=0,to=255,command=update_green)

green_slider.grid(row=1,column=0)

blue_slider = Scale(orient='horizontal',from_=0,to=255,command=update_blue)

blue_slider.grid(row=2,column=0)

color_text = Label(justify=LEFT)

color_text.grid(row=3,column=0, sticky=W)

color_label = Label(bg=convert_color(color),width=20)

color_label.grid(row=4,column=0)

mainloop()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值