Действительно ли возможно установить позицию курсора в текстовом виджете Tkinter? Я ничто еще не нахожу ужасно полезным.
Лучшее, которое я смог сделать, испускают a <Button-1>
и <ButtonRelease-1>
событие в определенной координате x-y, но это - пиксельная сумма, не сумма буквы.
Если "text", "line" и "column" - это ваш текстовый объект, то переменные желаемой строки текста и желаемой колонки будут, соответственно:
text.mark_set("insert", "%d.%d" % (line + 1, column + 1))
Если вы не хотите заботиться о номере строки... что ж, вам придется.
Полная документация на: http://effbot.org/tkinterbook/text.htm
Для установки позиции курсора можно использовать метод text_widget.mark_set
с "insert"
(или Tkinter. INSERT
для "константы") первым аргументом и, для второго аргумента, одной из многих форм, наиболее полезными являются:
"%d,%d" % (строка, колонка)
, где строка основана на 1, а колонка на 0"1. 0+%d chars" % index
, где index основан на 0, как индекс строки/юникода в PythonЧтобы получить индекс метки, можно использовать метод text_widget.index
:
text_widget.index(Tkinter.INSERT)