Há um tempo postei aqui no blog um artigo de como criar um formulário com PyGtk, Gdk e Sqlite3. O tutorial é altamente explicativo e pode ser visto aqui.
O único problema e digo que foi proposital, é que toda a interface da aplicação foi construída via código, isso é bom e ruim ao mesmo tempo, depende de como você vê.
No desenvolvimento temos que lidar com diversos objetos que não necessariamente estão ligados ao funcionamento do programa e sim com detalhes de design e aparência. Na maioria dos projetos a designação de quem cuida da interface e quem cuida do funcionamento do programa, comportamento, entre outros, vão para pessoas diferentes, ou até mesmo equipes diferentes.
Glade vem suprir as necessidades de ambos os lados.
Glade é uma ferramenta Opensource para desenvolvimento de aplicações Gtk+ altamente intuitiva e fácil de manusear. Ele gera um xml que pode ser manipulado dinamicamente pelo código. O que te deixa livre para utilizar a mesma interface com diversas linguagens de programação.
Bom pro desenvolvedor
- Não é mais preciso utilizar funções como set_valign ou set_halign e tendo que lembrar todos os tipos de objetos Gtk.Align para aplicar o alinhamento para cada widget na sua interface.
- Funções tipo attach e pack_start são desnecessárias. Glade abstrai a forma de se inserir objetos em contêineres, é um simples "clica e arrasta" que já poupa bastante tempo.
- É possível também ter uma visão de objetos obsoletos para a versão do projeto que está usando. Isso evita que sua aplicação tenha alguma incompatibilidade.
- Você não tem que entender especificações de linguagens ou funções se quiser fazer redimensionamento de um objeto entry por exemplo. Se você é programador, não é tão difícil de usar entry.set_width_chars(30), mas é completamente desnecessário colocar isso nas costas do designer, não é o foco dele.
- A interface é construída como se fosse um mockup, simples, fácil e rápido.
- Caso você tenha que criar uma outra aplicação com outra linguagem o processo não muda, você pode inclusive utilizar o mesmo xml para diversas aplicações.
Abstrações a parte, as vezes é bom construir com cliques. É prático e qualquer um pode fazer. Porém é muito importante também que se conheça o mínimo do que se está fazendo ou as coisas podem dar errado, pode não ser hoje ou amanhã mas num futuro próximo. Sempre terá aquele cliente pedindo por uma alteração no funcionamento, mudança de regra, customizações e etc. E provavelmente você terá que resolver isso com código.
Por isso mantenha o costume de ler a documentação e principalmente saiba algo sobre esse objeto que você está arrastando com o mouse. “Problemas não avisam quando vão chegar”
Instalando
Windows Em ambiente windows você pode fazer o download clicando aqui.
RedHat
sudo yum install glade
Ubuntu
sudo apt-get install glade
Construindo
Como citado anteriormente o glade gera um arquivo xml com nomenclatura ‘.glad’ ou ‘.ui’, a segunda é a mais nova e mais utilizada forma. Você pode manipular esse xml com diversas linguagens um breve exemplo é (C, C++, C#, Vala, Java, Perl e Python).
O arquivo tem uma apresentação hierárquica de objetos e suas propriedades. É relativamente fácil identificar um objetos e seus filhos. Inclusive alguns sinais podem ser manipulados pelo xml.
Veja um exemplo do arquivo.
Todo carregamento de biblioteca e declaração de objetos se mantêm o mesmo, a diferença está nos atributos.
Você precisa iniciar um objeto do tipo Builder e então carregar o arquivo xml.
E então a partir daí é possível manipular seus widgets ou containers utilizando o builder e a função get_object.
Note que, qualquer tipo de objeto pode ser carregado utilizando o get_object inclusive janelas, botões, contêineres e etc.. Eles se comportarão da mesma forma como se fossem criados da maneira convencional. O código da aplicação pode ser visto aqui.
O glade conta também com um manual de referência para desenvolvedores, para encontrá-lo basta apertar F1 ou ir na aba de ajuda. Lá você encontra vários manuais de tudo que é preciso saber para desenvolver com Gtk.
Nesse link você encontrará tudo sobre o glade, desde as versões lançadas, tutoriais, contato com developers, wiki e etc.
Veja uma breve demonstração do glade.
Espero que esse artigo ajude a aumentar a sua produtividade e valorizar o seu tempo. Em caso de dúvidas deixe um comentário.
Obrigado, e até mais!