繁体   English   中英

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

[英]How to change font to bold/underline/italics in Python Tkinter listbox?

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

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

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

很抱歉没有提供更多或更好的示例代码。 我不知道该如何尝试。 我也使用作为参考。 (我很难理解tkFont是一个软件包,以及为什么/如何在tk.font上使用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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM