python ttk.标签框颜色问题

huus2vyu  于 2022-12-25  发布在  Python
关注(0)|答案(1)|浏览(203)

我正在用Python中的tkinter编写一个GUI,使用ttk项,如笔记本、树视图和标签框架(以及许多其他东西),我所做的一切看起来都很棒,直到我将颜色从米色的"系统颜色"改为白色。
下面是代码的一个(更新的!)迭代(最小可重复的示例,只显示问题,没有其他太多!):

import tkinter as tk
from tkinter import *
from tkinter import ttk
from tkinter import font

window = Tk()

s=ttk.Style()

window.title("test window")
window.geometry("405x505+0+0")
section_1 = Frame(window, width = 405, height = 505)
section_1.place(x=0, y=0)

tabControl_1 = ttk.Notebook(section_1, height = 470, width = 395) #395
tab1 = ttk.Frame(tabControl_1, style='new.TFrame')
tab2 = ttk.Frame(tabControl_1)

tabControl_1.add(tab1, text='Devices')
tabControl_1.add(tab2, text='Tab 2')
tabControl_1.place(y=5,x=5)

label = ttk.Label(text="Detected devices will appear here", style="my.TLabel")

lf = ttk.LabelFrame(tab1, labelwidget=label, labelanchor='nw')
lf.pack()
lf.place(x=20,y=20)

treeview_frame = Frame(lf, width = 301, height = 201, background="white")
treeview_frame.grid(row=0, column=0, columnspan=3)
treeview_frame.grid_propagate(False)

s.configure('my.TLabel', background='white', font=('Segoe UI', 9))
s.configure('new.TFrame', background ='white')
window.resizable(False,False)
window.mainloop()

下面是一个(更新后的)屏幕截图,直观地显示了它的样子:https://imgur.com/a/oMXBSoz
从本质上讲,我的问题是,什么是最简单和/或最好的方法,让所有这些零碎的位周围的标签是白色的?
如果有人能解释一下我在这里错过了什么,逻辑明智的,我会非常感激。

    • 更新日期:**

虽然我们在评论中"到达那里"的速度有点慢,但德里克似乎已经得到了简单的非破坏性解决方案,他的答案。
这里的教训是,如果标签框架引用了标签,则可以同时更改标签和标签框架的样式,这会对输出产生影响。
根据德里克的回答,我得到了这个结果:
https://imgur.com/a/1vJqOUV
...这是完美的,本质上。
每次我来到这里,我都觉得自己真的很愚蠢(当然,这完全是我自己的错),感谢那些插话的人的帮助。

apeeds0o

apeeds0o1#

像这样更改ttk.Labelframe的背景颜色。

s=ttk.Style()

s.theme_use("default")
s.configure("TLabelframe", background = "white")

相关问题