我正在查看此example以填充带有背景颜色的文本小部件。但是我希望整个行显示背景颜色,而不仅仅是有文本的地方。所以从我的例子中我可以说:
text.tag_add("here", "1.0", "1.80")
text.tag_config("here", background="yellow", foreground="blue")
这是因为标准文本小部件宽度为80个字符。这不起作用:
text.tag_add("here", "1.0", 1.END)
text.tag_config("here", background="yellow", foreground="blue")
这两者都具有相同的不良影响。我试图实现的效果类似于iTunes列表(见图),其中每行以颜色交替。这是否可以通过使用文本元素实现?我知道它们是表格,交替的行是不同的颜色,但因为我有简单的字符串,在另一个因素上有所不同,并认为这将是一个显示差异的好方法。
答案 0 :(得分:2)
将line_number + 1
.
0
指定为endindex
。
<强>更新强>
将line_number
.0+1lines
指定为endindex
。
(参见The Tkinter Text Widget documentation,尤其是表达式部分)
最小例子:
try:
from tkinter import *
except ImportError:
from Tkinter import *
text = Text()
text.pack()
text.insert(END, '1st\n2nd\n3rd')
# text.tag_add("here", "2.0", "3.0") # <----------------------
text.tag_add("here", "2.0", "2.0+1lines") # <----------------------
text.tag_config("here", background="yellow", foreground="blue")
mainloop()