Python 3 - Texto Tkinter

Os widgets de texto fornecem recursos avançados que permitem editar um texto de várias linhas e formatar da maneira que deve ser exibido, como alterar sua cor e fonte.

Você também pode usar estruturas elegantes como guias e marcas para localizar seções específicas do texto e aplicar alterações a essas áreas. Além disso, você pode incorporar janelas e imagens no texto porque este widget foi projetado para lidar com texto simples e formatado.

Sintaxe

Aqui está a sintaxe simples para criar este widget -

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

Parâmetros

  • master - Isso representa a janela pai.

  • options- Aqui está a lista das opções mais comumente usadas para este widget. Essas opções podem ser usadas como pares de valores-chave separados por vírgulas.

Sr. Não.Opção e descrição
1

bg

A cor de fundo padrão do widget de texto.

2

bd

A largura da borda ao redor do widget de texto. O padrão é 2 pixels.

3

cursor

O cursor que aparecerá quando o mouse estiver sobre o widget de texto.

4

exportselection

Normalmente, o texto selecionado em um widget de texto é exportado para ser a seleção no gerenciador de janelas. Definaportselection = 0 se você não quiser esse comportamento.

5

font

A fonte padrão para o texto inserido no widget.

6

fg

A cor usada para o texto (e bitmaps) no widget. Você pode alterar a cor das regiões marcadas; esta opção é apenas o padrão.

7

height

A altura do widget em linhas (não pixels!), Medida de acordo com o tamanho da fonte atual.

8

highlightbackground

A cor do foco é realçada quando o widget de texto não tem foco.

9

highlightcolor

A cor do destaque do foco quando o widget de texto tem o foco.

10

highlightthickness

A espessura do destaque do foco. O padrão é 1. Defina a espessura do realce = 0 para suprimir a exibição do realce do foco.

11

insertbackground

A cor do cursor de inserção. O padrão é preto.

12

insertborderwidth

Tamanho da borda 3-D ao redor do cursor de inserção. O padrão é 0.

13

insertofftime

O número de milissegundos em que o cursor de inserção está desligado durante seu ciclo de intermitência. Defina esta opção como zero para suprimir o piscar. O padrão é 300.

14

insertontime

O número de milissegundos em que o cursor de inserção fica durante seu ciclo de intermitência. O padrão é 600.

15

insertwidth

Largura do cursor de inserção (sua altura é determinada pelo item mais alto em sua linha). O padrão é 2 pixels.

16

padx

O tamanho do preenchimento interno adicionado à esquerda e à direita da área de texto. O padrão é um pixel.

17

pady

O tamanho do preenchimento interno adicionado acima e abaixo da área de texto. O padrão é um pixel.

18

relief

A aparência 3D do widget de texto. O padrão é relevo = SUNKEN.

19

selectbackground

A cor de fundo a ser usada para exibir o texto selecionado.

20

selectborderwidth

A largura da borda a ser usada ao redor do texto selecionado.

21

spacing1

Esta opção especifica quanto espaço vertical extra é colocado acima de cada linha de texto. Se uma linha for quebrada, este espaço será adicionado apenas antes da primeira linha que ocupa no visor. O padrão é 0.

22

spacing2

Esta opção especifica quanto espaço vertical extra adicionar entre as linhas de texto exibidas quando uma linha lógica é quebrada. O padrão é 0.

23

spacing3

Esta opção especifica quanto espaço vertical extra é adicionado abaixo de cada linha de texto. Se uma linha for quebrada, este espaço será adicionado somente após a última linha que ocupa no display. O padrão é 0.

24

state

Normalmente, os widgets de texto respondem a eventos de teclado e mouse; defina state = NORMAL para obter este comportamento. Se você definir state = DISABLED, o widget de texto não responderá e você também não poderá modificar seu conteúdo programaticamente.

25

tabs

Esta opção controla como os caracteres de tabulação posicionam o texto.

26

width

A largura do widget em caracteres (não pixels!), Medida de acordo com o tamanho da fonte atual.

27

wrap

Esta opção controla a exibição de linhas muito largas. Defina wrap = WORD e isso quebrará a linha após a última palavra que couber. Com o comportamento padrão, wrap = CHAR, qualquer linha que se torne muito longa será interrompida em qualquer caractere.

28

xscrollcommand

Para tornar o widget de texto rolável horizontalmente, defina esta opção para o método set () da barra de rolagem horizontal.

29

yscrollcommand

Para tornar o widget de texto rolável verticalmente, defina esta opção para o método set () da barra de rolagem vertical.

Métodos

Objetos de texto têm estes métodos -

Sr. Não. Método e Descrição
1

delete(startindex [,endindex])

Este método exclui um caractere específico ou um intervalo de texto.

2

get(startindex [,endindex])

Este método retorna um caractere específico ou um intervalo de texto.

3

index(index)

Retorna o valor absoluto de um índice com base no índice fornecido.

4

insert(index [,string]...)

Este método insere strings no local do índice especificado.

5

see(index)

Este método retorna verdadeiro se o texto localizado na posição do índice estiver visível.

Os widgets de texto suportam três estruturas auxiliares distintas: Marks, Tabs e Indexes:

As marcas são usadas para marcar posições entre dois caracteres em um determinado texto. Temos os seguintes métodos disponíveis para lidar com marcas -

Sr. Não. Método e Descrição
1

index(mark)

Retorna a localização da linha e coluna de uma marca específica.

2

mark_gravity(mark [,gravity])

Retorna a gravidade da marca fornecida. Se o segundo argumento for fornecido, a gravidade é definida para a marca dada.

3

mark_names()

Retorna todas as marcas do widget Texto.

4

mark_set(mark, index)

Informa uma nova posição para a marca fornecida.

5

mark_unset(mark)

Remove a marca fornecida do widget de Texto.

As tags são usadas para associar nomes a regiões de texto, o que facilita a tarefa de modificar as configurações de exibição de áreas de texto específicas. As tags também são usadas para vincular retornos de chamada de evento a intervalos específicos de texto.

A seguir estão os métodos disponíveis para lidar com guias -

Sr. Não. Método e Descrição
1

tag_add(tagname, startindex[,endindex] ...)

Este método marca a posição definida por startindex ou um intervalo delimitado pelas posições startindex e endindex.

2

tag_config

Você pode usar este método para configurar as propriedades da tag, que incluem, justificar (centro, esquerda ou direita), guias (esta propriedade tem a mesma funcionalidade da propriedade das guias do widget Texto) e sublinhado (usado para sublinhar o texto marcado) .

3

tag_delete(tagname)

Este método é usado para deletar e remover uma determinada tag.

4

tag_remove(tagname [,startindex[.endindex]] ...)

Depois de aplicar este método, a tag fornecida é removida da área fornecida sem excluir a definição real da tag.

Exemplo

Experimente o seguinte exemplo -

# !/usr/bin/python3
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()

Resultado

Quando o código acima é executado, ele produz o seguinte resultado -