如何在Linux上的python tkinter中将ttk.LabelFrame的标头标签更改为蓝色?

时间:2018-12-26 20:19:35

标签: python tkinter

我希望标签文本为蓝色,因为Windows默认情况下是这样。

我正在跟踪为Windows编写的有关Python和Tkinter的教程,但是我正在Linux(xubuntu 16.04.5上的Python 3.5.1)上进行编写。现在,我为书中的所有LabelFrame示例都带有一个蓝色的标题标签感到困惑,但是当我运行它们的代码时,我的标题标签是黑色的。

我从this question看到Windows中默认为蓝色。我希望在Linux中看到相同的效果。但是,我一直无法扭转那里的建议。例如,ttk.LabelFrame()似乎不是“ foreground”选项,而且我也不知道如何将Label的文本设置为蓝色,以将其用作labelwidget选项。

代码如下:

from tkinter import *
from tkinter import ttk

root = Tk()
root.title("My question")

lf = ttk.LabelFrame(root, text="Why is this not blue?")
lf.pack()

label = ttk.Label(lf, text="frame contents can remain black or whatever.")
label.pack()

root.mainloop()

2 个答案:

答案 0 :(得分:1)

from tkinter import *
from tkinter import ttk
root = Tk()
root.title("My question")
lw = Label(root,  text="This is blue now", fg="blue")
lf = ttk.LabelFrame(root,labelwidget=lw)
lf.pack()
label = ttk.Label(lf, text="frame contents can remain black or whatever.")
label.pack()
root.mainloop()

答案 1 :(得分:0)

我写了答案,但没有注意到您使用的是LabelFrame而不是Label。

正如documentation所说,您需要将 "Logging": { "LogLevel": { "Default": "Trace", "Microsoft": "Information" } 自变量传递给options类。

尝试一下:

LabelFrame