Python主框架的背景颜色

3
我希望我的主框架的背景颜色是黑色。这是我尝试过的代码:

```css background-color: black; ```

#!/usr/bin/python
import tkinter
from tkinter import *

root = Tk()
root.geometry("363x200")
root.resizable(0,0)
root.title("Emsg Server")
root.option_add("*background", "black")

v = StringVar()

Field = Message(root, textvariable=v, width=330, fg="blue")
Field.grid()

root.mainloop()

我尝试使用 root.option_add("*background", "black"),但只创建了一个位于左上角的小黑色框。

如何使整个应用程序变成黑色?

4个回答

10

尝试使用

root.configure(background='black')

代替

root.option_add("*background", "black")

额外提示:你不需要两个导入语句,第二个就足够了。


谢谢,伙计。感谢你的添加。我一直想知道为什么两者都是必需的 :) - KnasScripter
它说我需要至少15个声望才能做这件事。 - KnasScripter
但是如果Tk(bg="black")不起作用,而Tk().config(bg="black")可以,为什么呢? - KnasScripter
@KnasScripter:Tk(bg="black") 无法工作的原因很简单,那就是它是一个 bug(或者是设计决策的结果)。config 方法能够工作的原因是因为它被设计成可以工作。 - Bryan Oakley
3
我个人认为import Tkinter as tk; root=tk.Tk()...是更好的方法。对于任何模块来说,使用import *通常都不是一个好主意。 - Bryan Oakley
我需要在每个小部件前面加上tk吗? - KnasScripter

3

option_add 仅向选项数据库添加一个条目,不会影响任何现有选项。它只是定义创建小部件时使用的默认值。由于根窗口在更新数据库之前创建,因此该窗口将不会继承该选项属性。

要更改主部件(或任何创建后的小部件)的颜色,请使用configure方法。此方法允许您更改小部件的几乎所有配置选项。


0

你也可以这样做

root["bg"]="black"

-1

在这种情况下,您应该执行以下操作

root.configure(background='black')

替代

root.option_add("*background", "black")

你为什么要添加一个几乎与现有的已接受答案完全重复的答案? - Bryan Oakley

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