如何在Python Tkinter列表框中将字体更改为粗体/下划线/斜体?

时间:2018-11-30 15:57:51

标签: python tkinter fonts

如何更改列表框中项目的字体样式?我以为它将使用listbox[i].itemconfig(),但是THIS暗示字体样式不是一种选择。

我还阅读了THIS,这意味着您必须首先获取项目的字体,然后对其进行更改并将其设置为新字体。但是,如何对列表框中的单个项目执行此操作?

我正在尝试一个按钮,以将列表框中的所选项目设置为“主”(这并不重要,这意味着不重要),出于这些目的,只需以某种方式将其突出显示(最好不使用前景/背景突出显示) /任何颜色)。以下是我的尝试,由于它不完整,因此根本无法执行。我不确定如何与列表框中特定项目的字体进行交互。请随时提供更好的方法。

很抱歉没有提供更多或更好的示例代码。我不知道该如何尝试。我还使用THIS作为参考。 (我很难理解tkFont作为一个软件包,以及为什么/如何在tk.font上使用它……)

def set_master(self):
    the_selection = self.the_listbox.curselection()
    for the_index, the_item in enumerate(self.the_listbox):
        f = tkFont.Font(font=the_item.cget("font"))

        if int(the_selection) == int(the_index):
            f.configure(underline=True, weight='bold', slant='italic')
        else:
            f.configure(underline=False, weight='normal', slant='roman')

        #the_item.set_font(f)  <--This is pseudocode
    return

1 个答案:

答案 0 :(得分:0)

您不能在列表框中更改单个项目的字体。

如果您需要的功能类似于列表框,但可以更改单个项目的字体,则可以使用ttk.Treeview小部件。