python使用tkinter調(diào)整label背景顏色的測試
調(diào)整label背景顏色測試截圖

我們都知道,一般來說每個(gè)像素的數(shù)據(jù)包括rgb三個(gè)通道用三個(gè)字節(jié)來表示
如0xff9900 中 ff是紅色的量 99是綠色的量 00是藍(lán)色的量
代碼實(shí)現(xiàn)了用 scale滑動條來調(diào)節(jié) rgb的占比,從而調(diào)節(jié)顏色
源碼
import tkinter as tk
window = tk.Tk() # 實(shí)例化一個(gè)窗口
window.title('Color setting') # 定義窗口標(biāo)題
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
#轉(zhuǎn)化16進(jìn)制并格式化
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 條方向 長度(像素),是否直接顯示值,標(biāo)簽的單位長度,保留精度 ,定義功能
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()總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
python獲取系統(tǒng)內(nèi)存占用信息的實(shí)例方法
在本篇文章里小編給大家整理的是關(guān)于python獲取系統(tǒng)內(nèi)存占用信息的實(shí)例方法,有需要的朋友們可以參考學(xué)習(xí)下。2020-07-07
python腳本設(shè)置超時(shí)機(jī)制系統(tǒng)時(shí)間的方法
這篇文章主要介紹了python腳本設(shè)置超時(shí)機(jī)制系統(tǒng)時(shí)間的方法,感興趣的小伙伴們可以參考一下2016-02-02
Python包發(fā)布到PyPI的實(shí)現(xiàn)步驟
本文主要介紹了Python包發(fā)布到PyPI的實(shí)現(xiàn)步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2025-11-11
使用Python實(shí)現(xiàn)照片按照日期自動分類的操作指南
最近準(zhǔn)備把近幾年手機(jī)里面存儲的照片按年份分類存儲到硬盤里面,不知不覺累積了4000多張照片,人工一張張分類實(shí)在是太費(fèi)時(shí)間、也容易出錯,所以本文給大家介紹了使用Python實(shí)現(xiàn)照片按照日期自動分類的操作指南,需要的朋友可以參考下2025-08-08
MacOS?Pytorch?機(jī)器學(xué)習(xí)環(huán)境搭建方法
這篇文章主要介紹了MacOS?Pytorch?機(jī)器學(xué)習(xí)環(huán)境搭建,學(xué)習(xí) Pytorch?,首先要搭建好環(huán)境,這里將采用?Anoconda + Pytorch + PyCharm 來一起構(gòu)建 Pytorch 學(xué)習(xí)環(huán)境,需要的朋友可以參考下2023-02-02
python識別圖標(biāo)并點(diǎn)擊功能實(shí)現(xiàn)
這篇文章主要介紹了python識別圖標(biāo)并點(diǎn)擊功能實(shí)現(xiàn),本文給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧2024-07-07
python使用itchat模塊給心愛的人每天發(fā)天氣預(yù)報(bào)
這篇文章主要介紹了python使用itchat模塊給心愛的人每天發(fā)天氣預(yù)報(bào),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-11-11
Python中scatter散點(diǎn)圖及顏色整理大全
python自帶的scatter函數(shù)參數(shù)中顏色和大小可以輸入列表進(jìn)行控制,即可以讓不同的點(diǎn)有不同的顏色和大小,下面這篇文章主要給大家介紹了關(guān)于Python中scatter散點(diǎn)圖及顏色整理大全的相關(guān)資料,需要的朋友可以參考下2023-05-05
Visual?Studio?Code配置Anaconda詳細(xì)圖文教程
在Visual?Studio?Code中使用Anaconda環(huán)境進(jìn)行Python開發(fā),可以充分利用Anaconda提供的包管理和虛擬環(huán)境功能,同時(shí)享受VS?Code提供的強(qiáng)大開發(fā)工具和調(diào)試功能,這篇文章主要介紹了Visual?Studio?Code配置Anaconda的相關(guān)資料,需要的朋友可以參考下2025-12-12

