PyGTK
# PyGTK

PyGTK é um wrapper para o Python criado por James Henstridge, construído sobre o GIMP Toolkit (GTK) a biblioteca usada pelo GNOME e muitas outras aplicações para Linux. Tem ótimo desempenho, elementos ricos e visual agradável.

## Licença

LGPL.

## Plataformas

Linux/Unix, Windows.

## Vantagens

* Desempenho - PyGTK 0.X (para GTK 1.2) tem um ótimo desempenho. A versão 2.0 (para gtk 2.X) não tem o mesmo desempenho, mas é bem satisfatória.
* Documentação - Bem documentada. Existem bons tutoriais para ambas as versões. Apesar de não haver uma referência completa para PyGTK 0.X, existe uma muito boa para a versão 2.X.
* API - PyGTK usa uma API eficiente, baseada em propagação de sinais e callbacks. Um elemento qualquer emite um sinal, que é propagado "pra cima" até ser capturado e gerar a chamada de um callback.
* IDE - Possui uma ferramenta para construção de interfaces, o Glade, que permite gerar uma referência em XML da interface, que pode ser usada diretamente pela biblioteca.
* Portabilidade - Portar aplicações de PyGTK para Windows é fácil. Normalmente sem trocar o código.

## Desvantagens

* Tamanho do código - Muito do código escrito em PyGTK chega a parecer redundante, mas é necessário. Por exemplo, para usar um elemento qualquer precisamos criá-lo, chamando a classe, configurá-lo através dos seus métodos de configuração, posicioná-lo e por fim mostrá-lo com o método show. São no mínimo três chamadas de métodos para cada objeto. Como resultado disso, temos arquivos de código fonte imensos. Linhas e mais linhas de código são necessárias para se fazer qualquer coisa. Uma alternativa é usar a biblioteca libglade, que especifica a interface através de um arquivo XML gerado pelo editor de interfaces Glade, diminuíndo consideravelmente o tamanho do código final, com a vantagem da implementação da interface não depender da linguagem de programação escolhida.