Как изменить ярлык синего заголовка TTK.Labelframe черным в Tkinter 8.5 Python
Вопрос
Я использую TKinter 8.5 и Python 3.3 на машине Windows 7.
Ниже приведен код, отображает заголовок Labelframe в голубом цвете шрифта.
from tkinter import *
from tkinter import ttk
root = Tk()
lf = ttk.LabelFrame(root, text="Why is this blue?")
lf.pack()
label = ttk.Label(lf, text="label")
label.pack()
.
Я попытался исправить это, добавив TTK.Style (), но получил неожиданный дисплей:
from tkinter import *
from tkinter import ttk
root = Tk()
s = ttk.Style()
s.configure('TLabelframe.Label', font='arial 14 bold')
lf = ttk.LabelFrame(root, text="Now it's black, but w/ a bizarre display"
" and no etched frame.", style='TLabelframe.Label')
lf.pack()
label = ttk.Label(lf, text="label")
label.pack()
.
Есть ли способ получить заголовок TTK.Labelframe, чтобы появиться черным в цвете с странными побочными эффектами?
Решение
Похоже, что Windows Defaults TTK.Labelframe заголовки на этот синий цвет.Не уверен почему.
Я нашел решение, создав TTK.Label и передаю это, как аргумент Labelwidget TTK.Labelframe.Это может быть больше обходного пути, хотя.В любом случае код ниже отображает текст заголовка в черном на моем компьютере Windows 7.
from tkinter import *
from tkinter import ttk
root = Tk()
l = ttk.Label(text="Not blue anymore")
lf = ttk.Labelframe(root, labelwidget=l)
lf.pack()
label = ttk.Label(lf, text="label")
label.pack()
root.mainloop()
. Другие советы
Это также может быть изменено с использованием свойства переднего плана tk.LabelFrame(window, foreground='red')
Вам просто нужно удалить style='TLabelframe.Label'
из параметров ttk.LabelFrame
.
import tkinter as tk
from tkinter import ttk
root = tk.Tk()
s = ttk.Style()
s.configure('TLabelframe.Label', font='arial 14 bold')
lf = ttk.LabelFrame(root, text="Now it's black, but w/ a bizarre display"
" and no etched frame.")
lf.pack()
label = ttk.Label(lf, text="label")
label.pack()
root.mainloop()
.
Я использую python 3.7.3 и tkinter 8.6.