wxPython, uma biblioteca GUI multi-plataforma (parte 1)

Esta é a primeira parte de uma série de artigos que irá apresentar a você esta poderosa ferramenta Open Source para a criação de interfaces gráficas para programas escritos em Python. Neste artigo foi abordado uma apresentação do que é o wxPython, a instalação em vários Sistemas Operacionais e uma simples aplicação "Olá Mundo!".

[ Hits: 35.218 ]

Por: Matheus Santana Lima em 01/06/2007


Instalação



Linux

Red Hat:

Você pode procurar os RPMs para Red Hat no endereço (eles estão funcionando bem com Fedora, Mandriva e Mandrake):
Debian:

WxPython pode ser instalado com o apt-get digitando como root:

# apt-get install python-wxgtk2.4
ou
# apt-get install python-wxgtk2.6

Dependendo da versão que você deseja o pacote com os demos do wxPython estão em um pacote wx-examples, que pode ser instalado com:

# apt-get install wx2.4-examples
ou
# apt-get install wx2.6-examples

Uma vez instalado você precisa copiar /usr/share/doc/wx2.[4|6]-examples/examples/wxPython para um diretório que você possa editar. Você precisa descompactar o arquivo comprimido. Você pode fazer isso com este simples script:

for i in *.gz; do
    gunzip $i
done

Você pode rodar os demos digitando:

$ python demo.py

Gentoo:

WxPython pode ser instalado com o portage digitando:

# emerge wxpython

Ubuntu:

Este é um conjunto de pacotes mantido por um time do wxPython para o Ubuntu 6.06 (Dapper Drake) para sistemas baseados em i386, é sabido que se está funcionando bem também no Ubuntu 6.10 (Edgy Eft). Você pode obtê-los adicionando as seguintes linhas no seu /etc/apt/sources.list:

# wxPython APT repository at wxcommunity.com
deb http://wxpython.wxcommunity.com/apt/ubuntu/dapper /
deb-src http://wxpython.wxcommunity.com/apt/ubuntu/dapper /

Depois de adicionar as informações dos repositórios em /etc/apt/sources.list , você pode buscar e instalar os pacotes usando um gerenciador de pacote gráfico como o Synaptic ou o Adept, ou ainda rodando os seguintes comandos abaixo em uma janela de terminal:

$ sudo apt-get update
$ sudo apt-get install python-wxgtk2.8 python-wxtools wx2.8-i18n


Estes pacotes (e suas dependências) podem vir a substituir mais cedo versões do wxPython e do wxGTK em algumas séries de lançamentos que possam vir a serem instaladas previamente.

Microsoft Windows:

A instalação no Windows é simples, execute o instalador que você pegar em:
e siga as instruções.

Construindo pelo source:

Você pode querer instalar o wxPython pelo source. Para fazer isto siga estes três passos:

Instalando o Python:

Você já deve ter feito isso. Use o site do Python para ter alguma referência a mais de instalação, provavelmente sua distribuição já traz incluso o Python.
Instalando o wxGTK:

wxGTK é a versão do GTK para wxWidgets. GTK (Gimp ToolKit) é uma biblioteca gráfica usada pelo Gnome, mas provavelmente está instalada na sua distribuição Linux. Tudo que você tem que fazer é baixar o source do wxGTK do site:
Ou do site do wxWidgets:
Descompacte o wxGTKcom o comando:

$ tar -zxvf wxGTK-2.2.5.tar.gz

Vá para o diretório:

$ cd wxGTK-2.2.5

Rode o script configure:

$ ./configure --with-gtk

Você pode receber alguns erros aqui se o GTK não foi instalado ou se os arquivos incluídos para o GTK não foram instalados (no Mandrake, gtk+-devel-1.2.8-6mdk.i586.rpm é um rpm que você tem que instalar).

Rode o arquivo:

$ make

Você pode obter alguns erros aqui também se o yacc ou o lex não estiverem instalados (no Mandrake os RPMs corretos são byacc-1.9-7mdk.i586.rpm e flex-2.5.4a-13mdk.i586.rpm).

Você deve compilar uma versão para o wxGTK. Para instalar logue-se como super-usuário(root):

$ su

Sua senha do root é necessária aqui.

Instalando o wxGTK:

# make install

Linkando a biblioteca:

# ldconfig

Normalente, wxGTK é instalado, mas pode vir a ocorrer algum problema com o wxPython.

Isto é possível quando a biblioteca não é instalada enquanto o wxPython espera por isto (no Mandrake 7.2 você deve instalar o wxGTK no arquivo /usr/lib, sendo que automaticamente ele instala em /usr/local/lib). A solução para isso é a criação de um link simbólico para a biblioteca, você deve fazer isto:

Vá para o diretório aonde você quer que a biblioteca seja instalada:

# cd /usr/lib

Criando um link simbólico para a biblioteca:

# ln -s /usr/local/lib/libwx_gtk.so

Instalando o wxPython:

Faça o download da última versão do wxPython em:
Descompacte o tarball:

$ tar -xvzf wxPython-2.2.5.tar.gz

Vá para o diretório:

$ cd wxPython-2.2.5

Edite o setup.py para escolher o que você quer instalar. Sugiro que você não instale o OGL e o GL_CANVAS. Por seleção:
BUILD_GLCANVAS = 0 # If true, build the contrib/glcanvas extension module
BUILD_OGL = 0      # If true, build the contrib/ogl extension module
BUILD_STC = 1      # If true, build the contrib/stc extension module
CORE_ONLY = 0      # if true, don't build any of the above
GL_ONLY = 0        # Only used when making the -gl RPM.  See the "b" script
                   # for the ugly details
USE_SWIG = 0       # Should we actually execute SWIG, or just use the
                   # files already in the distribution?
IN_CVS_TREE = 0    # Set to true if building in a full wxWindows CVS
                   # tree, otherwise will assume all needed files are
                   # available in the wxPython source distribution

Construindo o módulo python:

$ python setup.py build

Antes logue-se como root:

$ su

Sua senha do root é necessária aqui.

Instale o módulo:

# python setup.py install

Saia do modo root:

# exit

Cheque se o módulo funciona:

$ python
Python 1.5.2 (#1, Sep 30 2000, 18:08:36) [GCC 2.95.3 19991030 (prerelease)] on linux-i386
Copyright 1991-1995 Stichting Mathematisch Centrum, Amsterdam
>>> import wx
>>>

O wxPython deve estar funcionando!

Mac OS X:

Você deve primeiro seguir as instruções descritas aqui:
Um howto em francês pode ser encontrado em:
Página anterior     Próxima página

Páginas do artigo
   1. Getting Started
   2. Instalação
   3. Uma aplicação "Olá Mundo!"
Outros artigos deste autor

Rodando aplicações nativas de Windows em Linux pela Web

Gerenciando serviços de sistemas Linux

VNC + Hamachi

Análise do Seamonkey - A evolução da espécie

As novidades no MenuetOS 2007

Leitura recomendada

Instalando o MySQL no Zope/Plone e criando uma pequena aplicação

Escreva poemas com a sua linguagem de programação

Solução de Intranet Vindula 1.1 - Instalação no Ubuntu 10.04 LTS

Utilizando as bibliotecas do Java usando o Jython

Gerenciando registros em banco de dados com Zope

  
Comentários
[1] Comentário enviado por GabrielBAP em 02/06/2007 - 11:32h

cara... legal esse artigo, gostei!
vlws!

[2] Comentário enviado por fgueira em 17/05/2008 - 09:45h

Quando vc diz "[2] É quase tão velha quanto Tkinter - com data anterior a 1990" quer dizer com isso é trabalhar com o mesmo pode ser um problema ?

[3] Comentário enviado por matheusslima em 17/05/2008 - 15:31h

Absolutamente nao
o unix eh mais velho que o windows e mesmo assim o unix eh melhor.

[4] Comentário enviado por fgueira em 18/05/2008 - 09:16h

Só mais uma dúvida ... estou precisando desenvolver um projeto mas não sei se utilizo o wxpython ou o pyqt ... qual a sua opinião sobre ambos ....

[5] Comentário enviado por matheusslima em 18/05/2008 - 23:19h

Olha sobre o pyqt eu nao tenho opniao,pq nunca usei, mas o wxpython eu gostei e tive um resultado muito bom com ele e recomendo.

abracos
Matheus


Contribuir com comentário