Uma caixa de texto, campo de texto ou caixa de entrada de texto é uma espécie de ferramenta utilizada na construção de uma interface gráfica de usuário (GUI). A finalidade de um caixa de texto é o de permitir ao utilizador inserir informações de texto de entrada a ser utilizado pelo programa. Diretrizes de interface do usuário recomendam uma caixa com uma única linha de texto quando é necessária apenas uma linha de entrada, e uma caixa de texto de várias linhas somente se for necessária mais de uma linha de entrada. Caixas de texto não editáveis pode servir ao propósito de simplesmente exibir texto.
ScrolledText
O módulo ScrolledText fornece uma classe com o mesmo nome que implementa um widget de texto básico que tem uma barra de rolagem vertical configurado para fazer a “coisa certa“. Usando a classe ScrolledText é muito mais fácil do que a criação de um widget de texto e barra de rolagem diretamente. O construtor usa a mesma classe Tkinter.Text.
Exemplo:
Neste exemplo criamos um programa com uma área de texto onde se pode editar diretamente o texto ou inserir linhas no texto através de uma caixa de texto simples e um botão.
Python
#!/usr/bin/env python
# -*- coding: latin-1 -*-
# Desenvolvimento Aberto
# ScrolledText.py
# importa modulo
from Tkinter import *
from ScrolledText import ScrolledText
# Cria formulario
formulario = Tk()
formulario.title = "Desenvolvimento Aberto"
# Evento do Botão
def clique():
area.insert(END, texto.get() + "\n")
# Declara Variaveis
conteudo = "Escreva um texto dentro da caixa de texto. \n" + \
"Voce tambem pode adicionar novas linhas nesta caixa " + \
"escrevendo no editor e clicando no botao\n";
# Declara Componentes
rotulo = Label(formulario, text="Insira um texto na caixa de texto:")
area = ScrolledText(formulario, height =10, width = 40)
texto = Entry(formulario)
botao = Button(formulario, text="Ok", command=clique)
# Define propriedades para os componentes
area["font"] = ("Consolas",14)
area.insert(END,conteudo)
# Posiciona componentes na tela
rotulo.pack(padx=10)
area.pack(padx=10, fill=BOTH)
texto.pack(fill =X, padx=10, pady=10)
botao.pack(padx=10)
#loop do tcl
mainloop()






