Как переместить текстовый курсор в Text

Мне нужно переместить курсор на определенный символ с помощью кода. У меня есть текстовый виджет в котором пользователь набирает текст, мне нужно, чтобы курсор пользователя переместился допустим на 3 символ Вот, что у меня есть:

inputText = Text()
inputText.insert(1.0, "Hello, world!")
inputText.pack()

Мне нужно, чтобы код переместил текстовый курсор на символ l, это возможно?


Ответы (1 шт):

Автор решения: insolor
import tkinter as tk

...

# Установить курсор в первой строке перед символом с индексом 3
# (или после 3-го символа, если считать с 1)
# В вашей строке - получится между двумя буквами l в слове Hello
inputText.mark_set(tk.INSERT, "1.3")

# Переместить фокус ввода в текстовое поле
# (если фокус не в текстовом поле, то мы не увидим, что курсор поменял положение)
inputText.focus()

Чтобы выделить текст, нужно создать тег tk.SEL с нужными границами:

inputText.tag_add(tk.SEL, "1.7", "1.12")  # Выделяем слово "world"
inputText.mark_set(tk.INSERT, "1.12")  # Ставим курсор в конце выделения
inputText.focus()

Если нужно выделить весь текст:

inputText.tag_add(tk.SEL, "1.0", tk.END)
→ Ссылка