我正在创建一个基于Tkinter的GUI,它有一个入口小部件。我想使它的文本加粗的一部分,并改变其背景颜色。但我不知道我该怎么做。如果我使用文本小部件,我可以只使用标记,但看起来它们不能与条目小部件一起使用:
此代码正在使用文本小部件:
import tkinter as tk
from tkinter.font import Font
root = tk.Tk()
text = tk.Text(root, font=Font(size=12))
text.insert("1.0", "I want THIS PART to be bold and have red background")
text.tag_configure("bold-and-red", font=Font(size=12, weight="bold"), background="red")
text.tag_add("bold-and-red", "1.7", "1.16")
text.pack()
root.mainloop()
一切正常(显示文本小部件,“此部分”为粗体,背景为红色)
此代码正在使用Entry小部件:
import tkinter as tk
from tkinter.font import Font
root = tk.Tk()
entry = tk.Entry(root, font=Font(size=12))
entry.insert(0, "I want THIS PART to be bold and have red background")
entry.tag_configure("bold-and-red", font=Font(size=12, weight="bold"), background="red")
entry.tag_add("bold-and-red", 7, 16)
entry.pack()
root.mainloop()
我刚刚得到一个错误:
AttributeError: 'Entry' object has no attribute 'tag_configure'
有没有一种方法可以实现我对Entry widget的要求
正如@BryanOakley所说,只改变某些字符外观的唯一方法是使用一个定制的
Text
小部件下面是一个示例实现:
文本小部件的
insert
和get
方法被修改为与条目小部件中的方法一样工作你是对的:除了通过选择机制之外,你不能只改变条目小部件中某些字符的外观
如果只想更改某些字符的外观,则需要使用单行
Text
小部件相关问题 更多 >
编程相关推荐