Как переместить текстовый курсор в 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)