如何在ListBox Tkinter中把前r个字符的字符串加粗?

问题描述 投票:0回答:1

我试着在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

python tkinter listbox
1个回答
0
投票

你不能在listbox中使用ANSI转义序列,也没有办法改变一个项目中只有部分字符的属性。

如果你需要有丰富的格式,你将需要使用一个支持丰富格式的小组件。唯一实用的选择是一个 Text widget,这意味着你必须提供你自己的绑定来使它表现得像一个列表框。

© www.soinside.com 2019 - 2024. All rights reserved.