Is it possible to set the cursor position in a Tkinter Text widget? I\'m not finding anything terribly useful yet.
The best I\'ve been able to do is emit a <
This property is just for Text Widget, because for Entry Widget we could use:
entry_widget_name.icursor("position")
For Text Widget will be:
text_widget_name.mark_set("insert", "%d.%d" % (x,y))
where x = row position y = column position
(using integer numbers with dots like 1.0 or 3.0 for example)
If "text", "line", and "column" are your text object, the desired text line and desired column variables are, respectively:
text.mark_set("insert", "%d.%d" % (line + 1, column + 1))
If you would not like to care about the line number... well, you have to.
Complete documentation at: http://effbot.org/tkinterbook/text.htm
To set the cursor position, you can use the text_widget.mark_set
method, with "insert"
(or Tkinter.INSERT
for a “constant”) first argument and, for the second argument, one of many forms, the most useful being:
"%d,%d" % (line, column)
, where line is 1-based and column is 0-based"1.0+%d chars" % index
, where index is 0-based just like a string/unicode index in PythonTo get the index of a mark, you can use the text_widget.index
method:
text_widget.index(Tkinter.INSERT)