Python+Tkinter實現(xiàn)RGB數(shù)值轉(zhuǎn)換為16進(jìn)制碼
這次,我們用Tkinter寫一個RGB轉(zhuǎn)16進(jìn)制的一個小工具,先看看效果:


代碼教學(xué)
導(dǎo)入模塊
from tkinter import *
創(chuàng)建窗口
root=Tk()
root.title("小工具 - RGB顏色轉(zhuǎn)換16進(jìn)制碼")
root.geometry("400x400")
設(shè)置控件,這里用rVar,gVar,bVar來儲存rgb數(shù)值,用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顏色轉(zhuǎn)換16進(jìn)制碼")
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()到此這篇關(guān)于Python+Tkinter實現(xiàn)RGB數(shù)值轉(zhuǎn)換為16進(jìn)制碼的文章就介紹到這了,更多相關(guān)Python Tkinter RGB數(shù)值轉(zhuǎn)16進(jìn)制碼內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python實現(xiàn)學(xué)校管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了Python實現(xiàn)學(xué)校管理系統(tǒng),具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-01-01
編寫Python腳本抓取網(wǎng)絡(luò)小說來制作自己的閱讀器
這篇文章主要介紹了編寫Python腳本抓取網(wǎng)絡(luò)小說來制作自己的閱讀器的方法,包括對小說的章節(jié)排列等方面的優(yōu)化,對于Python學(xué)習(xí)者來說非常具有實踐意義!需要的朋友可以參考下2015-08-08
Python數(shù)據(jù)分析之matplotlib繪圖詳解
這篇文章主要為大家詳細(xì)介紹了Python數(shù)據(jù)分析之如何利用matplotlib進(jìn)行繪圖,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下2022-09-09
使用python實現(xiàn)簡單爬取網(wǎng)頁數(shù)據(jù)并導(dǎo)入MySQL中的數(shù)據(jù)庫
這篇文章主要為大家詳細(xì)介紹了如何使用 python 實現(xiàn)簡單爬取網(wǎng)頁數(shù)據(jù)并導(dǎo)入 MySQL 中的數(shù)據(jù)庫,對我們的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2023-06-06
設(shè)計模式中的原型模式在Python程序中的應(yīng)用示例
這篇文章主要介紹了設(shè)計模式中的原型模式在Python程序中的應(yīng)用示例,文中主要強調(diào)了對淺拷貝和深拷貝在對象復(fù)制時的使用,需要的朋友可以參考下2016-03-03
Python使用combinations實現(xiàn)排列組合的方法
今天小編就為大家分享一篇Python使用combinations實現(xiàn)排列組合的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-11-11
python中with語句結(jié)合上下文管理器操作詳解
這篇文章主要給大家介紹了關(guān)于python中with語句結(jié)合上下文管理器操作的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用python具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12
python 多進(jìn)程并行編程 ProcessPoolExecutor的實現(xiàn)
這篇文章主要介紹了python 多進(jìn)程并行編程 ProcessPoolExecutor的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10

