Criando uma simples janela com pygtk
É duro querer ou precisar fazer alguma coisa e não saber nem como começar; quando a gente não faz nem idéia de como a coisa pode ser feita.
Neste artigo nós vamos fazer uma simples janela vazia com pygtk para ultrapassar essa barreira do “não tenho nem idéia de como é”.
Uma janela em gtk é criada instanciando a classe gtk.Window():
janela=gtk.Window()
A janela tem que ser exibida com o método Show():
janela.Show()
Vamos ver então um código exemplo. Salve o código abaixo com um nome sugestivo, algo como janela_gtk.py, e execute com python janela_gtk.py :
#!/usr/bin/env python
import pygtk
import gtk
win=gtk.Window()
win.set_title('Titulo da Janela')
win.set_size_request(400,400)
win.connect("destroy",gtk.main_quit)
win.show()
gtk.main()
As linhas
import pygtk
import gtk
simplesmente importam os módulos para que seu programa python possa utilizar as classes gtk.
Nas linhas
win=gtk.Window()
win.set_title('Titulo da Janela')
uma janela gtk é criada, e um título é atribuído a ela.
Em win.set_size_request(400,400) definimos o tamanho(altura, largura) da janela.
Agora vem uma coisa interessante. Na linha abaixo conectamos um determinado sinal a uma funçao:
win.connect("destroy",gtk.main_quit)
Sinais são coisas que você vai muito usar ao trabalhar com pygtk. Aqui o sinal “destroy” é conectado ao método main_quit do gtk. Grosso modo, significa que, quando você fechar a janela, o método será chamado e o loop (veja abaixo) que mantém o programa em funcionamento será encerrado.
A linha abaixo é um mistério:
win.show()
Dou um pirulito a quem descobrir para que serve.
Finalmente,
gtk.main()
chama o loop principal, que vai fazer o gtk ficar esperando por eventos (os sinais) que fazem a mágica de um programa com interface gráfica.

13 / Junho / 2008 às 9:14 am
Obal!
Legal o seu post. Vou dar uma olhada em todo o material de python do seu blog.
Valeu.
13 / Junho / 2008 às 2:34 pm
Muito bom o artigo, direto ao ponto, parabéns!
15 / Junho / 2008 às 2:35 am
[...] Criando uma simples janela com pygtk Criando uma simples janela em pygtk – parte II [...]
30 / Junho / 2008 às 12:15 am
[...] Criando uma simples janela em PyGTK Criando uma simples janela em PyGTK – parte II DrawingArea – Desenhando na tela com PyGTK Orientação a Objetos com python Orientação a Objetos – Herança [...]
8 / Agosto / 2008 às 5:51 am
Show de bola, parabéns.