Quando estou fazendo programa com gui usando Python + GTK, depois de desenhar a interface no Glade tenho de escrever o carregador, que é uma tarefa bem monótona. Daí escrevi uma utilitariozinho em Python que parseia um arquivo Glade e gera um script python para carregá-lo, associando widgets à variáveis e sinais à funções callback.

Fiz essa tela para um exemplo:

Exemplo de GUI

O arquivo originário é exemplo.glade, o nome da janela é janelaExemplo, os nomes das caixas de texto são nomeEntry e emailEntry, e o botão, chamado botao, ao receber um evento clicked chamará a função callback botao_pressionado.

Para gerar o código carregador basta passa o arquivo glade para o gladeloader.py e redirecionar a saída para um arquivo. Assim:

./gladeloader.py exemplo.glade > exemplo.py

Eis o exemplo.py gerado:

#!/usr/bin/python
#-*- coding:utf-8 -*-
import sys
try:

import pygtk
pygtk.require('2.0')
import gtk
import gtk.glade

except:

sys.exit(1)

class appWindow:

def __init__(self):

self.widgetTree = gtk.glade.XML('exemplo.glade')
#Get the Main Window, and connect the 'destroy' event
self.window = self.widgetTree.get_widget('janelaExemplo')

if (self.window):

self.window.connect('destroy', gtk.main_quit)

#Widgets -------
self.emailEntry = self.widgetTree.get_widget('emailEntry')
self.nomeEntry = self.widgetTree.get_widget('nomeEntry')

#Autoconnect Signals and Callbacks
self.widgetTree.signal_autoconnect(self)
self.window.show_all()

# Callbacks ---------------------------------------------------------------
def botao_pressionado(self, widget):

print 'botao_pressionado'

if __name__ == '__main__':

app = appWindow()
gtk.main()

Como deu pra perceber é um utilitário bem simples, não espere que ele escreva seu código, ele dá apenas ajuda a dar aquele pontapé inicial e espantar a preguiça.

Arquivos:

Update: colocar código-fonte no wordpress é um saco. Muito mesmo.