Skip to main content
 首页 » 编程设计

python之我可以在 tkinter 中使用 rgb 吗

2025年05月04日20飞鱼

我可以在 tkinter 中使用 rbg 而不是 hex 吗?如果是这样,我该怎么做? 我计划使用此功能制作从一种颜色到另一种颜色的渐变,我计划制作一个 for 循环以在几秒钟内将其从 1 更改为 255。

from tkinter import * 
 
root = Tk() 
root.configure(background="can i use rgb instead of hex here?") 
root.mainloop() 

请您参考如下方法:

不,tkinter 不支持 RGB,但您可以编写一个小的辅助函数来解决这个问题:

可能是这样的,其中参数 rgb 必须是表示为整数元组的有效 rgb 代码。

import tkinter as tk 
 
 
def _from_rgb(rgb): 
    """translates an rgb tuple of int to a tkinter friendly color code 
    """ 
    return "#%02x%02x%02x" % rgb    
 
root = tk.Tk() 
root.configure(bg=_from_rgb((0, 10, 255)))  
root.mainloop() 

如果您觉得它更具可读性,您还可以使用 fstrings 来获得完全相同的结果:

def _from_rgb(rgb): 
    """translates an rgb tuple of int to a tkinter friendly color code 
    """ 
    r, g, b = rgb 
    return f'#{r:02x}{g:02x}{b:02x}' 

请注意 colorsys Python 标准库中的模块可以帮助翻译HSV、HLS 和YIQ 颜色系统