TTK.LABELFRAMEの青いヘッダーラベルをPythonのTkinter 8.5の黒に変更するにはどうすればよいですか
質問
Windows 7マシンでTkinter 8.5とPython 3.3を使用しています。
以下のコードは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のデフォルトはttk.labelframeヘッダーにこの青い色に表示されます。なぜわからない。
TTK.LABELを作成し、TTK.LABELFRAMEのLABLEWIDGET引数として渡してソリューションを見つけました。しかし、これはもっと回避策のかもしれません。いずれにせよ、以下のコードには、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を使用しています。
所属していません StackOverflow