![](/img/trans.png)
[英]How do I style a ttk.LabelFrame, specifically the background color?
[英]ttk.Labelframe color issue
我正在使用 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
從本質上講,我的問題是,讓標簽框周圍的所有這些零散位都變成白色的最簡單和/或最好的方法是什么?
如果有人能從邏輯上解釋我在這里遺漏的內容,我將不勝感激。
更新:
雖然我們在評論中有點“到達那里”,但 Derek 似乎已經通過他的回答獲得了簡單的非破壞性解決方案。
這里的教訓是,如果您的 labelframe 引用了一個標簽,您可以更改標簽和 labelframe 的樣式,這會對輸出產生影響。
根據 Derek 的回答,我得到了這個結果:
..從本質上講,這是完美的。
每次來到這里都讓我覺得自己真的很愚蠢(當然,這完全是我自己的錯),感謝那些插手的人的幫助。
像這樣更改ttk.Labelframe
的背景顏色。
s=ttk.Style()
s.theme_use("default")
s.configure("TLabelframe", background = "white")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.