广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python+Tkinter实现RGB数值转换为16进制码
  • 438
分享到

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

Python 官方文档:入门教程 => 点击学习

摘要

这次,我们用Tkinter写一个RGB转16进制的一个小工具,先看看效果: 代码教学 导入模块 from tkinter import * 创建窗口 root=Tk() roo

这次,我们用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进制码内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Python+Tkinter实现RGB数值转换为16进制码

本文链接: https://www.lsjlt.com/news/176969.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作