Python+Tkinter实现RGB数值转换为16进制码

 更新时间:2023年01月06日 10:17:47   作者:Leleprogrammer  
这篇文章主要为大家详细介绍了Python如何利用Tkinter编写一个RGB数值转换为16进制码的小工具,文中的示例代讲解详细,感兴趣的小伙伴可以了解一下

这次,我们用Tkinter写一个RGB转16进制的一个小工具,先看看效果:

代码教学

导入模块

from tkinter import *

创建窗口

root=Tk()
root.title("小工具 - RGB颜色转换16进制码")
root.geometry("400x400")

设置控件,这里用rVar,gVar,bVar来储存rgb数值,用Scale制作滑块

frame=Frame(root)
frame.pack(side=LEFT)
frame2=Frame(root)
frame2.pack(side=LEFT)
rVar=IntVar()
rVar.set(0)
bVar=IntVar()
bVar.set(0)
gVar=IntVar()
gVar.set(0)
rL=Label(frame,text="R:")
gL=Label(frame,text="G:")
bL=Label(frame,text="B:")
rL.grid(row=0,column=0)
gL.grid(row=1,column=0)
bL.grid(row=2,column=0)
r=Scale(frame,from_=0,to=255,orient=HORIZONTAL,command=update,variable=rVar)
r.grid(row=0,column=1)
g=Scale(frame,from_=0,to=255,orient=HORIZONTAL,command=update,variable=gVar)
g.grid(row=1,column=1)
b=Scale(frame,from_=0,to=255,orient=HORIZONTAL,command=update,variable=bVar)
b.grid(row=2,column=1)
canvas=Canvas(frame2)
canvas.pack(side=TOP,fill=BOTH)
color16Var=StringVar()
color16Var.set("")
_16L=Label(frame2,textvariable=color16Var)
_16L.pack(side=TOP,fill=BOTH)

拖动滑块时更新屏幕

def update(*args):
    R,G,B=rVar.get(),gVar.get(),bVar.get()
    r16=str(hex(int(R)))[2:]
    g16=str(hex(int(G)))[2:]
    b16=str(hex(int(B)))[2:]
    if len(r16)==1: r16="0"+r16
    if len(g16)==1: g16="0"+g16
    if len(b16)==1: b16="0"+b16
    color16=f"#{r16}{g16}{b16}"
    color16Var.set(color16)
    canvas.config(bg=color16)

最终代码

from tkinter import *
 
def update(*args):
    R,G,B=rVar.get(),gVar.get(),bVar.get()
    r16=str(hex(int(R)))[2:]
    g16=str(hex(int(G)))[2:]
    b16=str(hex(int(B)))[2:]
    if len(r16)==1: r16="0"+r16
    if len(g16)==1: g16="0"+g16
    if len(b16)==1: b16="0"+b16
    color16=f"#{r16}{g16}{b16}"
    color16Var.set(color16)
    canvas.config(bg=color16)
 
root=Tk()
root.title("小工具 - RGB颜色转换16进制码")
root.geometry("400x400")
frame=Frame(root)
frame.pack(side=LEFT)
frame2=Frame(root)
frame2.pack(side=LEFT)
rVar=IntVar()
rVar.set(0)
bVar=IntVar()
bVar.set(0)
gVar=IntVar()
gVar.set(0)
rL=Label(frame,text="R:")
gL=Label(frame,text="G:")
bL=Label(frame,text="B:")
rL.grid(row=0,column=0)
gL.grid(row=1,column=0)
bL.grid(row=2,column=0)
r=Scale(frame,from_=0,to=255,orient=HORIZONTAL,command=update,variable=rVar)
r.grid(row=0,column=1)
g=Scale(frame,from_=0,to=255,orient=HORIZONTAL,command=update,variable=gVar)
g.grid(row=1,column=1)
b=Scale(frame,from_=0,to=255,orient=HORIZONTAL,command=update,variable=bVar)
b.grid(row=2,column=1)
canvas=Canvas(frame2)
canvas.pack(side=TOP,fill=BOTH)
color16Var=StringVar()
color16Var.set("")
_16L=Label(frame2,textvariable=color16Var)
_16L.pack(side=TOP,fill=BOTH)
 
root.mainloop()

到此这篇关于Python+Tkinter实现RGB数值转换为16进制码的文章就介绍到这了,更多相关Python Tkinter RGB数值转16进制码内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python查找最长不包含重复字符的子字符串算法示例

    Python查找最长不包含重复字符的子字符串算法示例

    这篇文章主要介绍了Python查找最长不包含重复字符的子字符串算法,涉及Python字符串遍历、统计相关操作技巧,需要的朋友可以参考下
    2019-02-02
  • Python find()、rfind()方法及作用

    Python find()、rfind()方法及作用

    这篇文章主要介绍了Python find()、rfind()方法,find方法的作用检索是否指定的字符串,如果存在返回首次出现该字符串的索引,如果不存在返回-1,rfind 方法的作用和find方法作用相同,本文结合示例代码给大家介绍的非常详细,需要的朋友可以参考下
    2022-12-12
  • 基于Python编写一个简单的http服务器

    基于Python编写一个简单的http服务器

    这篇文章主要为大家详细介绍了如何基于Python编写一个简单的http服务器,文中的示例代码简洁易懂,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-04-04
  • Python+gensim实现文本相似度分析详解

    Python+gensim实现文本相似度分析详解

    这篇文章主要介绍了Python+gensim实现文本相似度分析详解,在开发中我们会遇到进行文本相似度分析的需求,计算文本相似度,用于鉴别文章是否存在抄袭,需要的朋友可以参考下
    2023-07-07
  • python实现无人机航拍图片像素坐标转世界坐标的示例代码

    python实现无人机航拍图片像素坐标转世界坐标的示例代码

    已知相机参数在给定像素坐标的前提下,求世界坐标,大部分通过AI来实现,本文给大家分享实现脚本,感兴趣的朋友跟随小编一起看看吧
    2024-06-06
  • python实现一行输入多个整数并排序输出

    python实现一行输入多个整数并排序输出

    这篇文章主要介绍了python实现一行输入多个整数并排序输出方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-02-02
  • Python AutoCAD 系统设置的实现方法

    Python AutoCAD 系统设置的实现方法

    这篇文章主要介绍了Python AutoCAD 系统设置的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-04-04
  • Python defaultdict教程示例详解

    Python defaultdict教程示例详解

    这篇文章主要为大家介绍了Python defaultdict教程示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-01-01
  • python数组排序方法之sort、sorted和argsort详解

    python数组排序方法之sort、sorted和argsort详解

    这篇文章主要给大家介绍了关于python数组排序方法之sort、sorted和argsort的相关资料,文中通过实例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2022-03-03
  • Pytorch maxpool的ceil_mode用法

    Pytorch maxpool的ceil_mode用法

    今天小编就为大家分享一篇Pytorch maxpool的ceil_mode用法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-02-02

最新评论