Visual – ScrolledText – Tkinter – Python – Linux

Publicado: 4 de abril de 2014 em Python

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.

textscroll

ScrolledText

 

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()
Publicidade
comentários
  1. Portinho disse:

    Muito boa explicação. Apenas retificando um ponto:
    Para o Python 3.4 (Que é a versão que eu utilizo e não sei a partir de qual versão se aplica a minha explicação) a sintaxe para aplicar o ScrolledText tem que ficar assim:
    from tkinter import *
    from tkinter.scrolledtext import ScrolledText
    .
    .
    .
    .
    area = ScrolledText(master, height=10, width=40)

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s