gpt4 book ai didi

python - 不能在 tkinter 中设置背景颜色

转载 作者:太空宇宙 更新时间:2023-11-04 09:45:47 24 4
gpt4 key购买 nike

我对这个简单的 tkinter 程序越来越绝望:我似乎无法更改背景颜色(或单个小部件的颜色)!这里出了什么问题?

下面是我的各种尝试和我收到的错误的要点

import tkinter
import tkinter.ttk as tk

root = tkinter.Tk()

frame= tk.Frame(root)
frame.grid(column=0, row=0)

tk.Button(frame, text="Open file", command=None).grid(column=0, row=1 )
lab=tk.Label(frame, text="test test test test test test ").grid(column=0, row=2 )

#root.config(background="black") # does nothing
#frame.config(background="black") # Error: unknown option "-background"
#lab.config(background="black") # Error: 'NoneType' object has no attribute 'config'

root.mainloop()

最佳答案

  • frame.config(background="black") 返回错误 unknown option "-background" 因为这是一个 ttk.Frame,而不是 tkinter.Frame 并且 ttk.Frame 的背景使用 ttk.Style 更改(参见下面的示例) .

  • lab.config(background="black") 给出错误 'NoneType' object has no attribute 'config' 因为你做了 lab = tk.Label(...).grid(...)grid 返回 None 所以 lab,不是标签

  • root.config(background="black") 什么都不做,因为小部件填满了窗口,因此您无法像 naknak12 解释的那样看到背景。

这是一个使用 ttk 小部件的示例:

import tkinter
from tkinter import ttk

root = tkinter.Tk()
root.configure(background='black')
# style configuration
style = ttk.Style(root)
style.configure('TLabel', background='black', foreground='white')
style.configure('TFrame', background='black')

frame = ttk.Frame(root)
frame.grid(column=0, row=0)

ttk.Button(frame, text="Open file", command=None).grid(column=0, row=1)
lab = ttk.Label(frame, text="test test test test test test ")
lab.grid(column=0, row=2)


root.mainloop()

还有一个没有ttk的例子:

import tkinter

root = tkinter.Tk()

frame = tkinter.Frame(root)
frame.grid(column=0, row=0)

tkinter.Button(frame, text="Open file", command=None).grid(column=0, row=1 )
lab = tkinter.Label(frame, text="test test test test test test ")
lab.grid(column=0, row=2)

root.configure(background='black')
lab.configure(background='black', foreground='white')
frame.configure(background='black')

root.mainloop()

关于python - 不能在 tkinter 中设置背景颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49854724/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com