Виджет Tkinter Text в Python с примерами

Виджет Tkinter Text используется в Python для добавления текстового редактора в ваше приложение.

Содержание

Знакомство с виджетом Tkinter Text

Виджет Text позволяет отображать и редактировать многострочные текстовые области с различными стилями. Помимо простого текста, виджет Текст поддерживает встроенные изображения и ссылки.

Для создания виджета Text используется следующий синтаксис:

text = tk.Text(master, conf={}, **kw)

В этом синтаксисе:

  • master является родительским компонентом виджета «Text».
  • Cnf — это словарь, определяющий конфигурацию виджета.
  • Kw — это один или несколько ключевых аргументов, используемых для настройки виджета «Text».

Обратите внимание, что виджет «Text» доступен только в модуле Tkinter, а не в модуле Tkinter.ttk.

В следующем примере создается виджет «Text» с восемью строками и размещается в корневом окне:

from tkinter import Tk, Text

root = Tk()
root.resizable(False, False)
root.title("Text Widget Example")

text = Text(root, height=8)
text.pack()


root.mainloop()

Выход:

Пример виджета Текст Tkinter

В этом примере аргумент height указывает количество строк виджета «Text».

Вставка начального контента

Для вставки содержимого в текстовую область используется метод insert(). Например:

from tkinter import Tk, Text

root = Tk()
root.resizable(False, False)
root.title("Text Widget Example")

text = Text(root, height=8)
text.pack()

text.insert('1.0', 'This is a Text widget demo')

root.mainloop()

Выход:

Вставка содержимого в текстовый виджет Tkinter

Первый аргумент метода insert() — это позиция, куда вы хотите вставить текст.

Позиция имеет следующий формат:

'line.column'

В приведенном выше примере «1.0» означает строку 1, символ 0, который является первым символом первой строки в текстовой области.

Извлечение текстового значения

Чтобы получить содержимое виджета Text, используйте его метод get(). Например:

text_content = text.get('1.0','end')

Метод get() принимает два аргумента. Первый аргумент — начальная позиция, второй — конечная позиция.

Чтобы извлечь только часть текста, вы можете указать разные начальную и конечную позиции.

Отключение виджета «Текст»

Чтобы запретить пользователям изменять содержимое виджета «Text», вы можете отключить его, установив для параметра состояния значение «disabled» следующим образом:

text['state'] = 'disabled'

Чтобы снова включить редактирование, вы можете изменить параметр состояния на normal:

text['state'] = 'normal'
Похожие посты
Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *