2

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

这是我的方法的代码:

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是一个文本字段。

4

1 回答 1

8

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

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

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

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

the_widget.see("insert")
于 2015-03-19T18:02:41.047 回答