python Tkiinter 自制调色板

import Tkinter as tk
window=tk.Tk()

def sliderUpdate(something):
    red=redSlider.get()
    green=greenSlider.get()
    blue=blueSlider.get()
    colour="#%02X%02X%02X"%(red,green,blue)
    canvas.config(bg=colour)
    hexText.delete(0,tk.END)
    hexText.insert(0,colour)
    
def buttonClick():
    colour=hexText.get()   
    canvas.config(bg=colour)
    redSlider.set(int(colour[1:3],16))
    greenSlider.set(int(colour[3:5],16))
    blueSlider.set(int(colour[5:7],16))
    
    

canvas=tk.Canvas(window)
redSlider=tk.Scale(window,from_=0,to=255,command=sliderUpdate)
greenSlider=tk.Scale(window,from_=0,to=255,command=sliderUpdate)
blueSlider=tk.Scale(window,from_=0,to=255,command=sliderUpdate)
hexText=tk.Entry(window,text="#000000")
button=tk.Button(window,text="Click",command=buttonClick)

redSlider.grid(row=1,column=1)
greenSlider.grid(row=1,column=2)
blueSlider.grid(row=1,column=3)
canvas.grid(row=2,column=1,columnspan=3)
hexText.grid(row=3,column=1,columnspan=3)
button.grid(row=4,column=1,columnspan=3)
window.mainloop()

本段程序中重要运用到如下

1.Scale.get()

然后colour="#%02X%02X%02X"%(red,green,blue)将数值写为字符串

2.redSlider.set(int(colour[1:3],16))这句话,是将一个16进制字符串,转化为10进制的数字,然后通过Scale.set()

方法

3.redSlider.grid(row=1,column=1)   grid方法,来有点像html中table的布局,以及columnspan跨列



//刚在书上看到一个制作颜色选择器,然后自己又改了一点,自己做东西,有种丰衣足食的感觉

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值