是否可以在Tkinter Text小部件中设置光标位置?我找不到任何非常有用的东西。
我能做的最好的事情是在某个x-y坐标处发出<Button-1>
和<ButtonRelease-1>
事件,但这是一个像素数量,而不是字母数量。
答案 0 :(得分:9)
如果“text”,“line”和“column”是您的文本对象,则所需的文本行和所需的列变量分别为:
text.mark_set("insert", "%d.%d" % (line + 1, column + 1))
如果您不想关心行号...那么,您必须这样做。
答案 1 :(得分:7)
要设置光标位置,可以使用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)
答案 2 :(得分:0)
此属性仅适用于Text Widget,因为对于Entry Widget,我们可以使用:
entry_widget_name.icursor("position")
对于Text Widget将是:
text_widget_name.mark_set("insert", "%d.%d" % (x,y))
其中x =行位置 y =列位置
(使用带点的整数,例如1.0或3.0)