Python 滚动到Tkinter中的文本

Python 滚动到Tkinter中的文本,python,tkinter,logic,scrollbar,Python,Tkinter,Logic,Scrollbar,嘿,伙计们,我有一个文本框,我可以搜索字符串并突出显示它们,效果很好。问题是测试框很长,用户需要滚动几分钟才能找到突出显示的字符串。我正在寻找一种方法来设置滚动条的位置,以便突出显示的字符串的第一次出现在顶部。我希望这是有意义的这里是我的突出显示功能 def highlight(self, args): idx = '1.0' if (args == "clear"): self.dp_text.tag_remove('found', '1.0', END

嘿,伙计们,我有一个文本框,我可以搜索字符串并突出显示它们,效果很好。问题是测试框很长,用户需要滚动几分钟才能找到突出显示的字符串。我正在寻找一种方法来设置滚动条的位置,以便突出显示的字符串的第一次出现在顶部。我希望这是有意义的这里是我的突出显示功能

    def highlight(self, args):
    idx = '1.0'
    if (args == "clear"):
        self.dp_text.tag_remove('found', '1.0', END)
    if args=="":
        return
    while 1:
        # find next occurrence, exit loop if no more
        idx = self.dp_text.search(args, idx, nocase=1, stopindex=END)
        if not idx: break
        # index right after the end of the occurrence
        lastidx = '%s+%dc' % (idx, len(args))
        # tag the whole occurrence (start included, stop excluded)
        self.dp_text.tag_add('found', idx, lastidx)
        # prepare to search for next occurrence
        idx = lastidx
    self.dp_text.tag_config('found', foreground='red', background='yellow')
我想这将是一个类似于

self.scrollbar.set(float(idx))

无需执行滚动条算法:

self.dp_text.see(idx)