移动到文本小部件 tkinter 中的特定位置

Moving to a specific position in a text widget tkinter

我想知道是否可以在 tkinter 的文本小部件中移动到特定位置。 我在文本小部件中实现了搜索,并希望实现 "next" 和 "previous" 方法以便我的搜索在文本小部件中移动。有可能吗? 谢谢你的帮助。

这是我的方法的代码:

def find():
    xml.tag_delete("search")
    xml.tag_configure("search", background="green")
    start="1.0"
    if len(fi.get()) > 0:
        xml.mark_set("insert", xml.search(fi.get(), start))
        while True:
            pos = xml.search(fi.get(), start, END) 
            if pos == "": 
                break       
            start = pos + "+%dc" % len(fi.get()) 
            xml.tag_add("search", pos, "%s + %dc" % (pos,len(fi.get())))

fi 是搜索模式的输入字段。 xml 是一个文本字段。

文本小部件有 标记 ,它们实际上是命名位置。插入光标由标记 "insert"(和 tkinter 常量 INSERT)定义。您可以使用 mark_set 方法移动此索引。

例如,这会将插入光标移动到第 3 行,第 14 个字符:

the_widget.mark_set("insert", "3.14")

如果您想确保新的插入位置可见,您可以使用 see 方法,该方法将滚动小部件足以使给定索引可见:

the_widget.see("insert")