Инструменты пользователя

Инструменты сайта


python:okonnoe_prilozhenie:tkinter:text

Text

Текстовые виджеты предоставляют расширенные возможности, которые позволяют редактировать многострочный текст и форматировать способ его отображения, например изменять его цвет и шрифт.

Вы также можете использовать элегантные структуры, такие как вкладки и метки, чтобы найти определенные разделы текста и применить изменения к этим областям. Кроме того, вы можете вставлять окна и изображения в текст, потому что этот виджет был разработан для обработки как простого, так и отформатированного текста.

Синтаксис

Вот простой синтаксис для создания этого виджета -

w = Text ( master, option, ... )

Параметры

  • master - Это представляет родительское окно.
  • options − Вот список наиболее часто используемых параметров для этого виджета. Эти параметры можно использовать как пары ключ-значение, разделенные запятыми.
Sr.No.Опции и Описание
1bg
Цвет фона по умолчанию для текстового виджета.
2bd
Ширина границы вокруг текстового виджета. По умолчанию 2 пикселя.
3cursor
Курсор, который появится, когда мышь находится над текстовым виджетом.
4exportselection
Обычно текст, выделенный в текстовом виджете, экспортируется для выделения в диспетчере окон. Установить exportselection = 0 если вы не хотите такого поведения.
5font
Шрифт по умолчанию для текста, вставляемого в виджет.
6fg
Цвет, используемый для текста (и растровых изображений) в виджете. Вы можете изменить цвет для помеченных регионов; эта опция только по умолчанию.
7height
Высота виджета в строках (не в пикселях!), Измеряется в соответствии с текущим размером шрифта.
8highlightbackground
Цвет фокуса выделяется, когда текстовый виджет не имеет фокуса.
9highlightcolor
Цвет фокуса выделяется, когда текстовый виджет имеет фокус.
10highlightthickness
Толщина фокуса подсветки. По умолчанию 1. Усановить highlightthickness = 0 чтобы подавить отображение выделения фокуса.
11insertbackground
Цвет курсора вставки. По умолчанию черный.
12insertborderwidth
Размер трехмерной границы вокруг курсора вставки. По умолчанию 0.
13insertofftime
Количество миллисекунд, в течение которых курсор вставки выключен во время цикла мигания. Установите эту опцию на ноль, чтобы подавить мигание. По умолчанию 300.
14insertontime
Количество миллисекунд, в течение которых курсор вставки включен во время цикла мигания. По умолчанию 600.
15insertwidth
Ширина курсора вставки (его высота определяется самым высоким элементом в его строке). По умолчанию 2 пикселя.
16padx
Размер внутреннего отступа добавляется слева и справа от текстовой области. По умолчанию используется один пиксель.
17pady
Размер внутреннего отступа добавлен над и под текстовой областью. По умолчанию используется один пиксель.
18relief
3-D вид текстового виджета. По умолчанию relief = SUNKEN.
19selectbackground
Цвет фона для отображения выбранного текста.
20selectborderwidth
Ширина границы, используемой вокруг выделенного текста.
21spacing1
Этот параметр указывает, сколько дополнительного вертикального пространства помещается над каждой строкой текста. Если строка переносится, это пространство добавляется только перед первой строкой, которую она занимает на дисплее. По умолчанию 0.
22spacing2
Этот параметр указывает, сколько дополнительного вертикального пространства необходимо добавить между отображаемыми строками текста при переносе логической строки. По умолчанию 0.
23spacing3
Этот параметр указывает, сколько дополнительного вертикального пространства добавляется ниже каждой строки текста. Если строка переносится, это пространство добавляется только после последней строки, которую оно занимает на дисплее. По умолчанию 0.
24state
Обычно текстовые виджеты реагируют на события клавиатуры и мыши; установить state = NORMAL чтобы получить такое поведение. Если вы установите state = DISABLED, текстовый виджет не будет отвечать, и вы не сможете изменять его содержимое программным путем.
25tabs
Эта опция контролирует, как символы табуляции позиционируют текст.
26width
Ширина виджета в символах (не в пикселях!), Измеряется в соответствии с текущим размером шрифта.
27wrap
Эта опция управляет переносом слов. Установить wrap = WORD и слова будут переноситься на следующую строку. Поведение по умолчанию, wrap = CHAR, любая строка, которая становится слишком длинной, будет разбита на любом символе
28xscrollcommand
Чтобы сделать текстовый виджет горизонтально прокручиваемым, установите этот параметр для метода set () горизонтальной полосы прокрутки.
29yscrollcommand
Чтобы сделать текстовый виджет вертикально прокручиваемым, установите для этого параметра метод set () вертикальной полосы прокрутки.

Методы

Текстовые объекты имеют эти методы -

Sr.No.Методы и Описание
1delete(startindex [,endindex])
Этот метод удаляет определенный символ или диапазон текста.
2get(startindex [,endindex])
Этот метод возвращает определенный символ или диапазон текста.
3index(index)
Возвращает абсолютное значение индекса на основе данного индекса.
4insert(index [,string]…)
Этот метод вставляет строки в указанное местоположение индекса.
5see(index)
Этот метод возвращает true, если текст, расположенный в позиции индекса, виден.

Текстовые виджеты поддерживают три различных вспомогательных структуры: метки, вкладки и индексы:

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

Sr.No.Методы и Описание
1index(mark)
Возвращает расположение строки и столбца определенной метки.
2mark_gravity(mark [,gravity])
Возвращает серьезность данной отметки. Если указан второй аргумент, для данной отметки устанавливается сила тяжести.
3mark_names()
Возвращает все метки из виджета Текст.
4mark_set(mark, index)
Информирует новую позицию по данной отметке.
5mark_unset(mark)
Удаляет данную отметку из виджета «Текст».

Теги используются для привязки имен к областям текста, что облегчает задачу изменения настроек отображения определенных текстовых областей. Теги также используются для привязки обратных вызовов событий к определенным диапазонам текста.

Ниже приведены доступные методы для обработки вкладок.

Sr.No.Методы и Описание
1tag_add(tagname, startindex[,endindex] …)
Этот метод помечает либо позицию, определенную startindex, либо диапазон, ограниченный позициями startindex и endindex.
2tag_config
Этот метод можно использовать для настройки свойств тега, которые включают, выравнивание (по центру, влево или вправо), вкладки (это свойство имеет те же функции, что и свойства вкладок виджета «Текст») и подчеркивание (используется для подчеркивания тегового текста)
3tag_delete(tagname)
Этот метод используется для удаления и удаления данного тега.
4tag_remove(tagname [,startindex[.endindex]] …)
После применения этого метода данный тег удаляется из предоставленной области без удаления фактического определения тега.

Примеры

insert text
from tkinter import *
 
root = Tk()
text = Text(root)
text.insert(INSERT, "Hello.....")
text.insert(END, "Bye Bye.....")
text.pack()
 
text.tag_add("here", "1.0", "1.4")
text.tag_add("start", "1.8", "1.13")
text.tag_config("here", background = "yellow", foreground = "blue")
text.tag_config("start", background = "black", foreground = "green")
root.mainloop()

Бокнот
from tkinter import *
 
def addStr():
    t.insert(END, 'hello\n')
 
def delStr():
    t.delete('1.0', END)
 
def getStr():
    print(t.get('1.0', END))
 
root = Tk()
root.geometry('400x400')
 
#Создаем фрейм для меню
f_menu = Frame(root, bg='#1F252A', height=40)
f_menu.pack(fill=X)
 
#Создаем фрейм для текстового ввода
f_text = Frame(root)
f_text.pack(fill=BOTH, expand=1)
 
#заголовок меню
l_menu = Label(f_menu, text="Menu", bg="#2B3239", fg="#c6dec1", font="Arial 10")
l_menu.place(x=10, y=10)
 
#Добавить строку
btt_add = Button(root, text='add', command=addStr).place(x=50, y=10)
#Очистить редактор
btt_del = Button(root, text='delete', command=delStr).place(x=90, y=10)
#Получить данные из редактроа
btt_get = Button(root, text='get', command=getStr).place(x=140, y=10)
 
#Поле ввода
t = Text(f_text,
         bg="#343D46",
         fg="#c6dec1",
         padx=10, #отступ по оси x
         pady=10, #отступ по оси y
         wrap=WORD, #Перенос слов
         insertbackground="#EDA756",#цвет курсора
         selectbackground="#4E5A65", #цвет выделения
         spacing3=10, #Расстояние между строк
         width=30)
t.pack(fill=BOTH, expand=1, side=LEFT)
 
#Создаем скроллбар
scroll = Scrollbar(f_text, command=t.yview)#Создаем скролл по оси y
scroll.pack(fill=Y, side=LEFT)
t.config(yscrollcommand=scroll.set)
 
root.mainloop()

python/okonnoe_prilozhenie/tkinter/text.txt · Последние изменения: 2023/01/12 12:18 (внешнее изменение)