単にウィンドウを作成するときのTkinterのデフォルトウィンドウの色を知りたいのですが。
root = Tk()
ある場合は、ウィジェットを同じ色に設定するか、16進数のカラーコードを使用できますか? (rgbを使用)
私が「通常の」ウィンドウで見つけたカラーコードは次のとおりです。
R = 240、G = 240、B = 237
ありがとう。
あなたが何を探しているのか正確にはわかりませんが、これでうまくいきますか?
_import Tkinter
mycolor = '#%02x%02x%02x' % (64, 204, 208) # set your favourite rgb color
mycolor2 = '#40E0D0' # or use hex if you prefer
root = Tkinter.Tk()
root.configure(bg=mycolor)
Tkinter.Button(root, text="Press me!", bg=mycolor, fg='black',
activebackground='black', activeforeground=mycolor2).pack()
root.mainloop()
_
ウィンドウの現在の値を見つけて、それを使用するようにウィジェットを設定したい場合は、cget
が適切です。
_import Tkinter
root = Tkinter.Tk()
defaultbg = root.cget('bg')
Tkinter.Button(root,text="Press me!", bg=defaultbg).pack()
root.mainloop()
_
新しいウィジェットのデフォルトの背景色を設定したい場合は、tk_setPalette(self, *args, **kw)
メソッドを使用できます。
_root.tk_setPalette(background='#40E0D0', foreground='black',
activeBackground='black', activeForeground=mycolor2)
Tkinter.Button(root, text="Press me!").pack()
_
すると、ウィジェットは、ウィジェットパラメータで設定する必要なしに、デフォルトでこの背景色を持ちます。インラインヘルプ関数import Tkinter; help(Tkinter.Tk)
には、役立つ情報がたくさんあります。
rudivonstadenの答えは私に問題の解決策を導きましたが、_"bg"
_が不明な色名であるため、何らかの理由でroot.cget("bg")
は失敗します。
ただし、ウィジェットにそのプロパティを含む辞書があることがわかっている場合、_root["bg"]
_はウィジェットの背景色を返します。
したがって、システムのデフォルトの背景色を上書きせずにmyWindowという名前のウィンドウを作成する場合、_myWindow["bg"]
_はウィンドウのデフォルトの背景色であり、そのウィンドウ内にフレームなしのテキストフィールドを作成するときに使用できます。
ボタンの色をシステムのデフォルトに設定しようとしました。これは私が遭遇した最高のソリューションです:
root.configure(background='SystemButtonFace')
私が見つけたTkinterウィンドウのデフォルトの色は#F0F0F0でした