Olá pessoal,

Acabei de lançar mais um update no framework PySChart (Charts for PyS60). Nesta nova versão beta 0.2, além de consertar alguns pequenos bugs do gráfico de linhas (LineChart), adicionei mais um gráfico: gráfico de barras (BarsChart). Segue um screenshot do gráfico de barras em execução:





Esse framework disponibizado em formao open-source é destinado para construção de gráficos para celulares Symbian S60 sobre a plataforma Python para S60 (PyS60).

Um dos problemas identificados na construção desses gráficos é a forma de visualização das legendas dos gráficos. Como a tela dos aparelhos móveis são bastante reduzidas, é necessário que possamos aproveitar ao máximo a tela para a exibição do gráfico. Para isto, uma solução seria construir um esquema de navegação, em que apertando alternadamente (esquerda/direita) é possível navegar entre os itens e apresentar, assim, a legenda do item em destaque. Em JavaME, utilizando um coponente denominado CustomItem ou até usando o framework de baixo nível como Canvas com tratamento de eventos é possível a solução.


Em python, isso também é possível, através do tratamento de eventos utilizando um método de resposta (callback) à eventos do teclado do aparelho móvel. Abaixo um pequeno exemplo de código demonstrando a facilidade de python para tratamento de eventos como de teclado:


import appuifw, e32, key_codes

def left():
appuifw.note("Tecla Esquerda foi pressionada")

def right():
appuifw.note("Tecla Direita foi pressionada")

def quit():
app_lock.signal()

canvas = appuifw.Canvas()
appuifw.app.body = canvas


canvas.bind(key_codes.EKeyLeftArrow,left)
canvas.bind(key_codes.EKeyRightArrow,right)

appuifw.app.exit_key_handler = quit
app_lock = e32.Ao_lock()
app_lock.wait()


O método responsável para associar qual método deve ser chamado em resposta à um determinado evento, por exemplo o pressionamento do botão Esquerda ou direita do celular é o metodo do módulo Canvas bind. Ele recebe 2 parâmetros: Um keycode (refere-se a tecla o qual vai ser tratada quando tiver algum evento associado a ela) e o método callback o qual vai ser chamado pela máquina virtual a partir do evento associado. Enfim, Pressionando as teclas esquerda ou direita, vão aparecer mensagens pop-up em seguida informando que apertou as teclas esquerda ou direita respectivamente.

Como podemos ver, é bem simples o uso de tratamento de eventos com o python! Há outras maneiras mais sofisticadas, mas esse método consegue reproduzir os casos mais comuns.

0 comentários:

top