我正在用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
...这是完美的,本质上。
每次我来到这里,我都觉得自己真的很愚蠢(当然,这完全是我自己的错),感谢那些插话的人的帮助。
1条答案
按热度按时间apeeds0o1#
像这样更改
ttk.Labelframe
的背景颜色。