Desenvolvendo aplicações GUI simples em Python & Glade (PyGTK) com banco de dados SQLite

O objetivo deste artigo é mostrar de forma objetiva como realizar procedimentos básicos de programação, então vamos abordar a criação da parte gráfica do programa, vamos falar de como usar controles e eventos simples na nossa aplicação, como botões, caixas de textos, janelas, diálogos, listas, o básico necessário da linguagem Python e como fazer as principais operações com banco de dados.

[ Hits: 163.192 ]

Por: Perfil removido em 28/07/2010


Por que Python?



Depois que a gente passa a conhecer a tecnologia podemos entender as suas vantagens e superar as dificuldades de maneira mais fácil. Indo aos porquês, o primeiro é que Python é literalmente usado pra fazer quase tudo no Ubuntu (e na maioria dos Debian-like, e creio eu que nas distros de outras vertentes também seja mais ou menos assim, mas não conheço, pois fora o Kurumin, Ubuntu (e seus variantes Kubuntu e Lubuntu) e Debian, das demais distros eu mexi bem pouco com o Fedora e nada mais), desde gadgets da área de trabalho até importantes e complexas ferramentas de sistema, sempre tem um arquivo ".py" em cena.

Em segundo vem uma consequência dessa ampla adoção do Python pelas distribuições, que é o suporte nativo, como é o caso do Ubuntu, a essa tecnologia - com raras exceções, é só fazer um script Python e rodar, como se fosse um shell-script. Como presumo que vocês já saibam, o Python é uma linguagem interpretada, pode até ser compilada, mas a maioria das aplicações desenvolvidas nela são distribuídas na forma do arquivo-fonte mesmo (o que é bem óbvio já que estamos no contexto GNU/Linux, software livre, open source...) e por isso você não vai precisar instalar nenhum pacote a mais na hora de desenvolver sua aplicações, tampouco na hora de distribuí-las.

Por fim, leveza e simplicidade são um dos aspectos que no meu caso, depois, repito, de estudar um pouco e entender melhor o sentido das coisas, são vantagens em relação a tudo o que eu já procurei nesse sentido - resumindo, pra desenvolver suas aplicações, Python pode ser uma alternativa muito fácil e rápida, sem deixar de ser poderosa.

Pra concluir eu gostaria de dizer também o porquê do Glade e o porquê do SQLite. Bem, são praticamente os mesmos argumentos que eu usei sobre o Python no fim do parágrafo anterior. Glade porque temos uma ferramenta muito simples pra desenhar as telas em modo gráfico na base do "arrastar e soltar", porque ele trabalha sobre a biblioteca GTK (que é a biblioteca gráfica do GNOME, ambiente gráfico do Ubuntu e Debian, mas que também está disponível para outros ambientes como o KDE), porque é leve... SQLite porque é o mais indicado como banco de dados pra aplicações desktop locais (navegadores como o Firefox, Chrome e Opera usam ele), é simples e leve... E como provavelmente você já esteja usando estes recursos em outras aplicações que você tenha instalado ou que já vieram com a sua distribuição, você não vai precisar instalar mais nada também. E, antes que eu me esqueça, suas aplicações desenvolvidas usando esse trio podem ser facilmente portadas para outras plataformas, incluindo Windows.

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Por que Python?
   3. Preparando o ambiente
   4. Dando forma à aplicação
   5. Agora vamos programar
   6. Continuando a programar
   7. Finalizando com a listagem
Outros artigos deste autor

Prevenindo problemas com impressoras via Samba no Windows

Instalando o RealPlayer 10 no Linux

Usando aMSN com plugin Music com suporte ao Juk e Amarok

Uma "fábula" sobre acessar e mapear unidades de rede do Windows no Linux

Uso de terminologia imprópria com software livre

Leitura recomendada

Python para pesquisadores: material didático

Interagindo com servidores HTTP com Python

Como criar um bot para curtir e comentar perfis do Instagram

Embutindo imagens nos scripts Python para aplicações Tkinter

Pydev - Preparando o Eclipse para o Python

  
Comentários
[1] Comentário enviado por fonini em 29/07/2010 - 08:27h

Parabéns pelo excelente artigo!

[2] Comentário enviado por balani em 29/07/2010 - 09:40h

Excelente artigo, estou iniciando em Python, seu artigo me ajudará muito, nesse aprendizado.

Parabens!

Abraços


Adriano R. Balani

[3] Comentário enviado por gtuxed em 29/07/2010 - 12:34h

Bom artigo, parabéns.

Estes dias fiz meu primeiro aplicativo com PyGTK e apesar de também ser iniciante em python, não achei muito difícil exceto por ainda achar as estruturas liststore/treestore um pouco "overkill" rsrs.

Falando mais sobre estas estruturas, acho que apesar da flexibilidade que elas oferecem, deveria haver uma interface mais simples para coisas mais pragmáticas.

Mas isso é mais um problema com GTK do que com PyGTK (que é apenas um binding).

hehe, olha só como é complexo criar uma simples lista e apresentar...

##

# Criamos um modelo ListStore(<tipo>,<tipo>,...)
liststore = gtk.ListStore(str)

# Baseado no modelo criamos uma treeview
treeview = gtk.TreeView(liststore)

# Precisamos criar um "renderizador" (será que estou usando blender, engine 3d, etc.? rsrs)
textrenderer = gtk.CellRendererText()

# Adicionamos a coluna ao treeview
column = gtk.TreeViewColumn('Nome da coluna', textrenderer, text=0)
treeview.append_column(column)

# Adicionamos valores à lista
for row in ['a','b','c']:
itt = liststore.append([row])

##

Poderia ser assim:

##

# Criamos a lista
list = gtk.List(str)

# Adicionamos valores à ela
list.append('teste')

##

Da pra fazer isso facilmente, mas acho que isso já deveria existir rsrs

[4] Comentário enviado por gomes-fdr em 29/07/2010 - 16:26h

Muito bom o seu artigo, parabens.

Para mim servirá como material de apoio para o inicio de aplicativos baseados em Python(desktop).

Saudações.

[5] Comentário enviado por albfneto em 01/08/2010 - 18:48h

émuitobom esse artigo.! 10

[6] Comentário enviado por Lisandro em 21/12/2010 - 09:05h

Parabéns pelo artigo. Muito Bom.

[7] Comentário enviado por quemsoueu em 06/07/2012 - 08:18h

Cara seu artigo abriu meus olhos eu tava quase desistindo de desenvolver o software.
A dúvida é com o tkinter eu consigo rodar ele no windows como java, entretanto como faço para rodar ele no windows ele foi escrito com o pygtk e glade, e preciso rodar numa estação Win, acaso você já fez isso?

[8] Comentário enviado por leo523 em 10/06/2013 - 10:17h

Ótimo post, mas atualmente o modo é um pouco diferente, ao inves de usar a biblioteca glade.XML para chamar o xml, usa-se o gtk.builder.

Respondendo o comentário acima, para distribuir no Windows vc deve instalar o pygtk completo que esta neste link :
http://ftp.gnome.org/pub/GNOME/binaries/win32/pygtk/2.24/

[9] Comentário enviado por wladimir58 em 15/06/2016 - 16:27h

Nunca consegui usar as interfaces do Glade nos meus programas em Python




Contribuir com comentário