Visual – PanedWindow – Tkinter – Pyhton – Linux

Publicado: 25 de abril de 2014 em Python

Painel deslizante é um componente da interface gráfica que permite que o usuário redimensione componentes contidos normalmente dentro de dois painéis que podem ser posicionados na horizontal ou na vertical.

PanedWindow

O PanedWindow  é um widget gerenciador de geometria, que pode conter um ou mais widgets filhos (“painéis”). Os widgets filhos pode ser redimensionados pelo usuário, ao mover linhas de separação (“sashes“) usando o mouse.

PanedWindow

PanedWindow

Exemplo:

Neste exemplo criamos um painel de rolagem divido na horizontal que contem dois componentes que podem ser redimensionados pelo usuário, respeitando o tamanho mínimo de cada componente.

Python

#!/usr/bin/env python
# -*- coding: latin-1 -*-
# Desenvolvimento Aberto
# Panewindow.py

# importa modulos
from Tkinter import *
from PIL import Image, ImageTk
from ScrolledText import ScrolledText
import urllib2 as urllib
import cStringIO

# Cria formulario
formulario = Tk()
formulario.title = "Desenvolvimento Aberto"

# Declara variavel
txt = "O balonismo e um esporte aeronautico praticado com um balao de ar quente.\n" + \
      "Possui adeptos em todo o mundo. No Brasil, o esporte comecou a se popularizar\n" + \
      "a partir dos anos 90.\n" + \
      "O balão é considerado uma aeronave assim como aviao, helicopteros e outros.\n" + \
      "Por esta razao o balao deve ter uma matricula (prefixo) registrado junto\n" + \
      "a ANAC, seu piloto deve possuir uma licenca (breve) especifico para a pratica\n" + \
      "do balonismo tambem emitido pela ANAC.";
 
# Cria Url
url = urllib.urlopen("https://desenvolvimentoaberto.files.wordpress.com/2014/04/balonismo.jpg")

# Lê imagem da url
figura = cStringIO.StringIO(url.read())

# carrega a imagem
imagem = Image.open(figura)

# joga a imagem para o componente
foto = ImageTk.PhotoImage(imagem)

painel = PanedWindow(orient=HORIZONTAL)
painel.pack(fill=BOTH, expand=10)

# Exibi a imagem
pic = Label(painel, image = foto)

# Cria caixa de texto
texto = ScrolledText(painel, height =10, width = 40)
texto.insert(END, txt)

# Adiciona componentes no painel
painel.add(pic)
painel.add(texto)

# Loop do tcl
mainloop()
Publicidade

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