我试着在Tkinter中用ANSI转义序列"\033[1m]"在ListBox中放一个字符串,并在后面用ANSI转义序列"\033[0m"。
l = Listbox(root, width=33,font = ('Arial', 15))
a="aaaabc"
l.insert(END,"\033[1m" + a[0:r] + "\033[0m"+a[r:]")
我得到的是
SyntaxError: f-string expression part cannot include a backslash
你不能在listbox中使用ANSI转义序列,也没有办法改变一个项目中只有部分字符的属性。
如果你需要有丰富的格式,你将需要使用一个支持丰富格式的小组件。唯一实用的选择是一个 Text
widget,这意味着你必须提供你自己的绑定来使它表现得像一个列表框。