我可以在 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 颜色系统
