如何设置tkinter默认的背景颜色?

4

有人知道默认背景的颜色代码吗?我在程序中更改了背景颜色,现在需要将其恢复为默认颜色,但是我找不到颜色代码。

任何帮助都将不胜感激。谢谢。


你是指 rgb 值吗? - user2705585
我只想将背景颜色更改为默认值。RGB 值或“单词”值将有所帮助。 - Rezzy
我怎么知道你的默认背景颜色是什么? - user2705585
无论如何,有一个在线的RGB选择器可以完成这项工作。希望这能帮到你。 - user2705585
默认的 RGB 背景颜色是 240,240,240。我使用画笔颜色选择器找到了这个信息。 - Rezzy
显示剩余2条评论
3个回答

5

试试这个:

root.configure(background='SystemButtonFace')

3
欢迎来到StackOverflow,如果您能够添加一个相关的文档链接,那么用户可以更好地探索这个主题并完善您的答案。 - Picard

4

如果您想在运行时获取默认背景,可以使用 cget 方法。这可能返回一个颜色名称,而不是一个 RGB 值。

import Tkinter as tk
root = tk.Tk()

bg = root.cget("background")
# eg: 'systemWindowBody'

你可以将其转换为红、绿和蓝三个分量的元组。
rgb = root.winfo_rgb(bg)
# eg: (65535, 65535, 65535)

如果你想的话,可以将该值格式化为十六进制字符串:
color = "#%x%x%x" % rgb
# eg: '#ffffffffffff'

在更改背景后重置它,请保存值,然后使用该值与configure命令一起使用:

original_background = root.cget("background")
...
root.configure(background=original_background)

1

另一个选择是仅清除background设置。例如:

import Tkinter as tk
root = tk.Tk()
lbl_status = ttk.Label(root, width=20, text="Some Text")

lbl_status['background'] = 'yellow'   # Set background to yellow
lbl_status['background'] = ''         # Reset it to system default

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接