Python para S60 – II

No meu post 2 sobre PyS60, resolvi colocar uma pequena demonstração de como criar um programa. Dá para emular com o pys60-compat e nem mesmo usar um celular S60.

# -*- coding: utf-8 -*-
import appuifw as gui
import e32

class Demo:
    def close(self):
        self.app_lock.signal()

    def about(self):
        gui.note( u"Demo is only a demo", "info" )

    def lst_cbk(self):
        idx = self.body.current()
        gui.note( u"List cbk %d" % idx, "info" )

    def main(self):
        gui.app.exit_key_handler = self.close
        gui.app.title = u"Demo"
        gui.app.menu = [( u"About", self.about ),
                        ( u"Exit", self.close )]

        self.body = gui.Listbox([ u"Demo a", u"Demo b" ], self.lst_cbk )
        gui.app.body = self.body
        self.app_lock = e32.Ao_lock()
        self.app_lock.wait()

if __name__ == "__main__":
    dm = Demo()
    dm.main()

O código é um pouco evidente. Basicamente o módulo appuifw (que eu troquei por gui) faz todo o trabalho sujo da interface, permitindo a definição de uma aplicação com menu (gui.app.menu), do corpo do programa (gui.app.body), título (gui.app.title) e da função de saída (gui.app.exit_key_handler). Os menus são definidos através de tuplas do tipo (u”rótulo”, callback) e o corpo do programa usado foi uma Listbox. É possível usar também uma caixa de texto ou uma área de desenho (canvas). Ao ser selecionado um elemento da lista, o método self.lst_cbk é chamado, como pode ser visto na criação da Listbox.

O programa roda até um que semáforo chamado self.app_lock seja sinalizado, o que acontece dentro da função close(). No caso, self.app_lock, criada em main via e32.Ao_lock(), é sinalizada através do menu “Exit”, liberando o código em self.app_lock.wait().

para usar o pys60-compat basta baixar os arquivos e colocar no mesmo diretório do seu aplicativo. Usando o WxWidgets, ele irá criar uma interface para o seu programa. Ok, não é muito parecido, mas vai lhe poupar muitas horas de debug. Vejam como ficou:

Para rodar no seu celular, copie o script dentro de e:\python, no cartão de memória. Depois, de dentro do interpretador, mande executar o script. Imagens a seguir e um breve tutorial de como gerar um .sis num post futuro.

  1. #1 by Valdir on outubro 8, 2008 - 6:07 pm

    Ola amigo venho a alguns dias acompanhando seu blog, que esta de parabens, mas gostaria que vc me ajuda-se em uma duvida. Acabei de adquirir um celular na net e estou precisando de um programa que alterer meu imei, sei que e ilegal mas tenho outros aparelhos danificados que posso colocar o imei nele. Caso possa me ajudar agradeco.Valdir

  2. #2 by jedizone on outubro 8, 2008 - 8:41 pm

    Valdir,

    Eu nunca fiz isso mas confesso que já fiquei tentado uma vez porque queria fazer um update de firmware no meu nokia n95 que ainda não estava disponível para o meu product code. Acabei não fazendo mas vi que o pessoal usava um tal de Nemesis Service Suite, geralmente referenciado como NSS. Infelizmente não tenho este programa já que resisti à tentação ;-) mas você vai ver muita referência a ele na Internet.

    Marcelo

  3. #3 by acassis on outubro 12, 2008 - 9:04 am

    WoW, muito massa esta possibilidade de testar o mesmo script no PC e no celular sem alterar nada.

    Preciso continuar com os testes no A1200, sei que ele suporta o Qtopia e o sistema do OpenMoko, entao ja’ deve ter python disponivel. Assim poderei fazer meu segundo script python ;-)

    Parabens pela serie de posts sobre o S60, mesmo nao sendo Linux, esta’ muito interessante.

  4. #4 by jedizone on outubro 12, 2008 - 11:17 pm

    Novidades em breve … tenho uns 3 posts já definidos a este respeito.

  5. #5 by Rafael Borges on outubro 22, 2008 - 1:12 am

    Tudo bem!
    Tenho um N95, e gostaria mesmo de ajuda!
    pelo menos um email de resposta, se nao for pedir muito…

    tenho procurado muito pela internet programas para meu N 95, infelizmente nao consigo instala-los, ou ate mesmo acha-los.

    precisava descobrir um jeito de fazer meu n 95 funcionar como mouse, e ate mesmo jogar um jogo de corridas, sem apertar os botoes.

    existem varios tutoriais realmente, acho muito complicado.

    Comprei um notebook a pouco tempo e gostaria de interagir com o n 95, usando como mouse.

    Tenho instalado, o ir remote, q hj expirou
    sport tracker, moving ball, tunin(radios europeias), skype

    Bom espero uma resposta

    Muito Obrigadoo
    Rafael

  6. #6 by jedizone on outubro 24, 2008 - 3:06 pm

    Tenho dúvidas se o N95 tem o profile bluetooth que o faz funcionar como mouse. O E71 tem e vem com um programa chamado WiPresenter. Existe um projeto chamador Amora para fazer apresentação de slides com celulares S60. Dê uma olhada.
    O IR Remote, por ser pago, eu nunca testei. Remova também a restrição de instalar somente aplicativos assinados, isto pode estar bloqueando a instalação de alguns aplicativos. Rode o gerente de aplicativos (aplicações->gerente de aplicativos), entre no menu configurações e desative a opção de verificar certificados.

    Marcelo

Deixe uma resposta

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

WordPress.com Logo

You are commenting using your WordPress.com account. Sair / Alterar )

Imagem do Twitter

You are commenting using your Twitter account. Sair / Alterar )

Foto do Facebook

You are commenting using your Facebook account. Sair / Alterar )

Connecting to %s

Seguir

Obtenha todo post novo entregue na sua caixa de entrada.

Join 417 other followers