tkinter在python中渲染错误的RGB阴影

时间:2016-07-08 19:16:57

标签: python python-3.x colors tkinter rgb

我在Python(3.5.1)中使用tkinter。问题是实际的RGB值与tkinter中的RGB不对应。

例如,在此代码中:

import tkinter
root=tkinter.Tk()
root.configure(bg="white")
root.mainloop()

它按预期工作。但是,如果我将“white”替换为“#255255255”,则背景为灰色。其他小部件也是如此。

所以我在tkinter网站上阅读了颜色手册文档,根据表格,这个RGB对应于“grey100”。 它为什么不同? 我需要RGB的实际对应关系。我做错了什么,或者我需要外部校准来实现这个目标吗?

2 个答案:

答案 0 :(得分:3)

' #rrggbb'中的字符(每像素8位)和#rrrgggbbb' (每像素12位)颜色字符串被解释为十六进制,而不是十进制。 '#FFFFFF'和#fffffffff'是白色的。 0x255是597而0xfff是4095,所以'#255255255'将每个像素调高约15%,结果看起来几乎是黑色。

答案 1 :(得分:2)

字符串"#255255255"用作"#RRRGGGBBB",每个字符串都在十六进制中。纯白色的正确RGB字符串可以是以下任何一种:

  • #FFF
  • #FFFFFF
  • #FFFFFFFF
  • "white"

Tkinter的颜色始终为十六进制 - 255/255/255略高于1/8全白,因为2F小14。