在"文本"小部件中设置光标位置

Way*_*ner 8 python tkinter cursor-position

是否可以在Tkinter Text小部件中设置光标位置?我找不到任何非常有用的东西.

我能做的最好的是在某个xy坐标处发出一个<Button-1><ButtonRelease-1>事件,但这是一个像素数量,而不是字母数量.

jsb*_*eno 9

如果"text","line"和"column"是您的文本对象,则所需的文本行和所需的列变量分别为:

text.mark_set("insert", "%d.%d" % (line + 1, column + 1))
Run Code Online (Sandbox Code Playgroud)

如果您不想关心行号...那么,您必须这样做.

完整文档:http: //effbot.org/tkinterbook/text.htm

  • @Wayne Werner:"index"方法将返回任何位置的索引,包括插入游标:`text.index("insert")` (3认同)

tzo*_*zot 8

要设置光标位置,可以使用text_widget.mark_set方法,使用"insert"(或Tkinter.INSERT用于"常量")第一个参数,对于第二个参数,可以使用多种形式中的一种,最有用的是:

  • "%d,%d" % (line, column),其中line是从1开始的,column是从0开始的
  • "1.0+%d chars" % index,其中index是基于0的,就像Python中的字符串/ unicode索引一样

要获取标记的索引,可以使用以下text_widget.index方法:

text_widget.index(Tkinter.INSERT)
Run Code Online (Sandbox Code Playgroud)