Dav*_*son -2 python tk-toolkit tkinter
如何在我的文本中找到特定文本字符串的位置?
例如,我有文本“Lorem ipsum dolor sat amet, consectetur adipiscing elit.”,当我搜索“ipsum”时,我想找出它的位置。
if "ipsum" in text:
print position
else:
pass
Run Code Online (Sandbox Code Playgroud)
我正在寻找的位置类似于“1.6”如果我想更改文本的颜色,它看起来像这样:
text.tag_add("foo", "1.28", "1.39")
Run Code Online (Sandbox Code Playgroud)
然后为了改变我搜索过的文本的颜色,我需要以某种方式获得它的位置,对吗?我可能是错的,但我正在寻找一些示例或指导。谢谢!:)
使用该Text.search()功能,例如
text = Text(root)
text.insert(INSERT, "Lorem ipsum dolor sit amet, consectetur adipiscing elit.")
pos = text.search('ipsum', '1.0', stopindex=END)
print pos
Run Code Online (Sandbox Code Playgroud)
这应该输出1.6.
要突出显示目标字符串,您可以使用tag_add()和tag_config()...
root = Tk()
text = Text(root)
text.pack()
text.insert(INSERT, "Lorem ipsum dolor sit amet, consectetur adipiscing elit.")
target = 'ipsum'
start_pos = text.search(target, '1.0', stopindex=END)
print '{!r}'.format(start_pos)
if start_pos:
end_pos = '{}+{}c'.format(start_pos, len(target))
print '{!r}'.format(end_pos)
text.tag_add('highlight', start_pos, end_pos)
text.tag_config('highlight', foreground='red')
root.mainloop()
Run Code Online (Sandbox Code Playgroud)
如果您想在文本小部件中搜索某个单词的所有实例,或多个单词,请查看此答案:https : //stackoverflow.com/a/29316232/21945
| 归档时间: |
|
| 查看次数: |
2527 次 |
| 最近记录: |