python使用tkinter调整label背景颜色的测试

 更新时间:2023年09月06日 09:32:48   作者:qq_278667286  
这篇文章主要介绍了python使用tkinter调整label背景颜色的测试方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

调整label背景颜色测试截图

我们都知道,一般来说每个像素的数据包括rgb三个通道用三个字节来表示

如0xff9900 中 ff是红色的量 99是绿色的量 00是蓝色的量

代码实现了用 scale滑动条来调节 rgb的占比,从而调节颜色

源码

import tkinter as tk
window = tk.Tk()  # 实例化一个窗口
window.title('Color setting')  # 定义窗口标题
window.geometry('400x600')  # 定义窗口大小
l = tk.Label(window, bg='yellow', width=200, height=2, text='empty')
l.pack()
r,g,b,w=100,100,100,100
def print_selection():
    global r,g,b,w
    #转化16进制并格式化
    rv =hex(int(255.0*(float(r)*float(w)/10000.0)))#0x xx 不合适
    srv='%02x'%int(255.0*(float(r)*float(w)/10000.0))
    sgv = '%02x' % int(255.0 * (float(g) * float(w) / 10000.0))
    sbv = '%02x' % int(255.0 * (float(b) * float(w) / 10000.0))
    #print(srv)
    bgstr="#"+srv+sgv+sbv
    l.configure(bg=bgstr)
    l.config(text='R:' + str(r) + '%,G:' + str(g) + '%,B:' + str(b) + '%,W:' + str(w)+"% C:"+bgstr)
    jsonstr="\"color\":{\"r\":%1.2f,\"g\":%1.2f,\"b\":%1.2f,\"w\":%1.2f}"%(float(r)/100.0,float(g)/100.0,float(b)/100.0,float(w)/100.0)
    fresh(jsonstr)
def setR(v):
   global r
   r=v
   print_selection()
def setG(v):
   global g
   g=v
   print_selection()
def setB(v):
   global b
   b=v
   print_selection()
def setW(v):
   global w
   w=v
   print_selection()
rs = tk.Scale(window, label='R:', from_=0, to=100, orient=tk.HORIZONTAL, length=200, showvalue=1, tickinterval=25,
             resolution=1, command=setR)
rs.pack()  # 显示名字      从5-11           条方向           长度(像素),是否直接显示值,标签的单位长度,保留精度    ,定义功能
rs.set(r)
gs = tk.Scale(window, label='G:', from_=0, to=100, orient=tk.HORIZONTAL, length=200, showvalue=1, tickinterval=25,
             resolution=1, command=setG)
gs.pack()
gs.set(g)
bs = tk.Scale(window, label='B:', from_=0, to=100, orient=tk.HORIZONTAL, length=200, showvalue=1, tickinterval=25,
             resolution=1, command=setB)
bs.pack()
bs.set(b)
ws = tk.Scale(window, label='W:', from_=0, to=100, orient=tk.HORIZONTAL, length=200, showvalue=1, tickinterval=25,
             resolution=1, command=setW)
ws.pack()
ws.set(w)
text1 = tk.Text(window,width=30,height=5)
text1.pack()
text1.insert(tk.INSERT,'I love you')
def fresh(t):
    text1.delete(1.0, tk.END)
    text1.insert(tk.INSERT, t)
def show():
    T1 = text1.get(0.0, tk.END)
    print(T1)
def cut(event=None):
    text1.event_generate("<<Cut>>")
def copy(event=None):
    text1.get('sel.first', 'sel.last')
    text1.event_generate("<<Copy>>")
def paste(event=None):
    text1.event_generate('<<Paste>>')
# Select all the text in textbox
def select_all(event=None):
    text1.tag_add(tk.SEL, "1.0", tk.END)
    text1.mark_set(tk.INSERT, "1.0")
    text1.see(tk.INSERT)
    copy()
    return 'break'
button = tk.Button(window,text="SelectAndCopy",command=select_all)
button.pack()
text1.focus_set()
#button.pack(fill=tk.BOTH, expand=1)
#text1.window_create(tk.INSERT,window=button)
window.mainloop()

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 几种实用的pythonic语法实例代码

    几种实用的pythonic语法实例代码

    在我理解,Pythonic 就是很 Python 的 Python 代码。下面这篇文章主要给大家分享介绍了几种实用的pythonic语法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2018-02-02
  • python实现递归查找某个路径下所有文件中的中文字符

    python实现递归查找某个路径下所有文件中的中文字符

    这篇文章主要为大家详细介绍了python实现递归查找某个路径下所有文件中的中文字符,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-08-08
  • python中的循环语法使用指南

    python中的循环语法使用指南

    这篇文章主要给大家介绍了关于python中循环语法使用的相关资料, 循环语句是Python中的一种基本语句,用于重复执行一段代码。在Python中,循环语句分为for和while两种,需要的朋友可以参考下
    2023-08-08
  • Django如何开发简单的查询接口详解

    Django如何开发简单的查询接口详解

    这篇文章主要给大家介绍了使用Django如何开发简单的查询接口的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Django具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-05-05
  • 详解利用python+opencv识别图片中的圆形(霍夫变换)

    详解利用python+opencv识别图片中的圆形(霍夫变换)

    这篇文章主要介绍了详解利用python+opencv识别图片中的圆形(霍夫变换),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • Python中%r和%s的详解及区别

    Python中%r和%s的详解及区别

    这篇文章主要介绍了Python中%r和%s的详解及区别的相关资料,需要的朋友可以参考下
    2017-03-03
  • python3实现TCP协议的简单服务器和客户端案例(分享)

    python3实现TCP协议的简单服务器和客户端案例(分享)

    下面小编就为大家带来一篇python3实现TCP协议的简单服务器和客户端案例(分享)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06
  • OpenCV-Python实现怀旧滤镜与连环画滤镜

    OpenCV-Python实现怀旧滤镜与连环画滤镜

    很多时候通过ps可以做很多效果,今天我们来介绍使用OpenCV-Python实现怀旧滤镜与连环画滤镜,具有一定的参考价值,感兴趣的可以了解一下
    2021-06-06
  • python批量查询、汉字去重处理CSV文件

    python批量查询、汉字去重处理CSV文件

    这篇文章主要为大家详细介绍了python批量查询、汉字去重处理CSV文件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-05-05
  • Django分页功能的实现代码详解

    Django分页功能的实现代码详解

    在本篇文章里小编给大家整理了关于Django分页功能的实现代码以及相关知识点内容,需要的朋友们可以跟着学习参考下。
    2019-07-07

最新评论