Python tkinter文本小部件:设置插入游标

Python tkinter文本小部件:设置插入游标,python,autocomplete,tkinter,Python,Autocomplete,Tkinter,我想在tkinter文本小部件中创建自动完成功能。当自动完成功能找到一个可能的单词时,它会删除该单词的用户部分,然后插入完整的单词: #if some matched words are found if self._hits != []: #delete the part written by the user self.text.delete("%s+1c" % Space1Index,INSERT) #Inser the complete word self.t

我想在tkinter文本小部件中创建自动完成功能。当自动完成功能找到一个可能的单词时,它会删除该单词的用户部分,然后插入完整的单词:

#if some matched words are found
if self._hits != []:

   #delete the part written by the user
   self.text.delete("%s+1c" % Space1Index,INSERT)

   #Inser the complete word
   self.text.insert("%s+1c" % Space1Index,self._hits[self._hit_index])
然后,我将标记自动完成添加的文本,使其具有与用户输入不同的外观。例如,如果用户编写了
te
,autocomplete将编写完整的单词
test
te
将使用普通字体,
st
将以另一种颜色书写,并等待用户通过计算机确认所选单词

我的问题是,在插入单词
test
并正确突出显示它之后,如何在
te
之后再次移动插入位置


我希望我能充分澄清我的问题,如果需要更多解释,请让我知道。

要移动插入光标,请将“插入”标记设置到您想要的任何位置:

self.text.mark_set("insert", "%s+1c" % ...)
-或-


要移动插入光标,请将“插入”标记设置为所需位置:

self.text.mark_set("insert", "%s+1c" % ...)
-或-


要移动插入光标,请将“插入”标记设置为所需位置:

self.text.mark_set("insert", "%s+1c" % ...)
-或-


要移动插入光标,请将“插入”标记设置为所需位置:

self.text.mark_set("insert", "%s+1c" % ...)
-或-


您可以在自动完成更改之前保存插入标记的位置,并在以下操作后将标记重置为保存的位置:

old_pos = self.text.index("insert")
# make autocompletion changes
self.text.mark_set("insert", old_pos)

您可以在自动完成更改之前保存插入标记的位置,并在以下操作后将标记重置为保存的位置:

old_pos = self.text.index("insert")
# make autocompletion changes
self.text.mark_set("insert", old_pos)

您可以在自动完成更改之前保存插入标记的位置,并在以下操作后将标记重置为保存的位置:

old_pos = self.text.index("insert")
# make autocompletion changes
self.text.mark_set("insert", old_pos)

您可以在自动完成更改之前保存插入标记的位置,并在以下操作后将标记重置为保存的位置:

old_pos = self.text.index("insert")
# make autocompletion changes
self.text.mark_set("insert", old_pos)


谢谢关于文本小部件,你有什么好的参考资料吗。。我在网上找到了一些,但没有足够的例子或解释。我想你指的是self.text.mark\u set(
“insert”
,old\u pos)是的,我修改了我的答案。作为参考,有。非常好,但并不是所有的小部件都包括在内。最终的文档是,它是针对tcl的,但是tkinter中的函数移植几乎相同。谢谢!关于文本小部件,你有什么好的参考资料吗。。我在网上找到了一些,但没有足够的例子或解释。我想你指的是self.text.mark\u set(
“insert”
,old\u pos)是的,我修改了我的答案。作为参考,有。非常好,但并不是所有的小部件都包括在内。最终的文档是,它是针对tcl的,但是tkinter中的函数移植几乎相同。谢谢!关于文本小部件,你有什么好的参考资料吗。。我在网上找到了一些,但没有足够的例子或解释。我想你指的是self.text.mark\u set(
“insert”
,old\u pos)是的,我修改了我的答案。作为参考,有。非常好,但并不是所有的小部件都包括在内。最终的文档是,它是针对tcl的,但是tkinter中的函数移植几乎相同。谢谢!关于文本小部件,你有什么好的参考资料吗。。我在网上找到了一些,但没有足够的例子或解释。我想你指的是self.text.mark\u set(
“insert”
,old\u pos)是的,我修改了我的答案。作为参考,有。非常好,但并不是所有的小部件都包括在内。最终的文档是,它是针对tcl的,但函数在tkinter中的移植几乎相同。您可能需要更改问题的标题。它提到了自动完成,但实际的问题是关于设置插入光标。你能给我们看一下它的完整代码吗?谢谢您可能想更改问题的标题。它提到了自动完成,但实际的问题是关于设置插入光标。你能给我们看一下它的完整代码吗?谢谢您可能想更改问题的标题。它提到了自动完成,但实际的问题是关于设置插入光标。你能给我们看一下它的完整代码吗?谢谢您可能想更改问题的标题。它提到了自动完成,但实际的问题是关于设置插入光标。你能给我们看一下它的完整代码吗?谢谢