2016-07-08 9 views
2

私はPython(3.5.1)でtkinterを使用しています。問題は、実際のRGB値がtkinterのRGBに対応していないことです。このコードでは例えばPythonのtkinterのレンダリングが間違っている。

:予想通り

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

それは動作します。しかし、「白」を「#255255255」に置き換えた場合、背景はグレーです。他のウィジェットでも同じことが起こります。

私はtkinterサイトのカラーマニュアルのドキュメントを読んでいました。テーブルごとに、このRGBは "grey100"に対応していました。 なぜ違うのですか? RGBの実際の対応が必要です。間違ったことをやっているのですか、そうするために外部校正が必要ですか?

+0

'tkinter site'はあいまいであり、実際のURLにリンクする必要があります –

答えて

3

'#rrggbb'(ピクセルあたり8ビット)と '#rrrgggbbb'(ピクセルあたり12ビット)の文字列は、10進数ではなく16進数として解釈されます。 '#ffffff'と '#fffffffff'は白です。 0x255は597、0xfffは4095なので、 '#255255255'は各ピクセルを約15%回転させるので、結果はほぼ黒く表示されます。

+0

Thank You Terry。事実を全く知らなかった。 渡す前にRGBをHEXに変換すると、すべてのカラートランジションが完璧になります。 –

2

文字列"#255255255""#RRRGGGBBB"として使用され、各文字は16進数になります。純白のための適切なRGB文字列は、任意の次のようになります。

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

のTkinterの色はhexadecimal- 255/255/255に常にされます2が14で、Fより小さいため、1/8よりも若干白くなります。

+0

ありがとう、デリオス。それは働いている。 –

関連する問題