如何更改tkinter标签的部分字体样式

时间:2014-03-17 11:51:22

标签: python widget tkinter label styling

我想知道如何更改Python Tkinter标签小部件的字体,以便显示的文本的一半是粗体,一半不是不必使用两个标签。小部件的文本在实际创建标签之前分配并存储在变量中,因此我需要某种标志来告诉它有多少字符串应该是粗体。我不是可能的,但建议表示赞赏。

2 个答案:

答案 0 :(得分:2)

我认为没有一种用于更改标签内字体的开箱即用方法,但您可以制作自定义标签类型来处理它,例如:

def customLabel(parent, row, column, bold, standard):
    cLabelFrame = Frame(parent)
    cLabelFrame.grid(row=row, column=column)
    Label(cLabelFrame, text=bold, font=('bold').grid(column=0)
    Label(cLabelFrame, text=standard).grid(column=1)

参数:parent是包含框架的地方,bold是粗体文字,standard是常规文字。您必须找出拆分原始字符串的位置,并将其分配给boldstandard args。

答案 1 :(得分:2)

标签小部件无法做任何事情 - 它只支持整个标签的单一字体和单一颜色。但是,您可以轻松地在需要此功能的任何位置替换画布或文本小部件。没有理由不能使用一行高十几个字符宽的文本小部件。