Curso de Python - Aula 16 - Iniciando no PyGTK
O exercício da última aula foi bem pesadinho, o pessoal teve que suar para resolver, então acredito que aprenderam bastante sobre Python, teve até gente dizendo que passou a noite fazendo os exercícios e com isso aprendeu bestante. Eu fico muito feliz de ver esse tipo de coisa acontecendo, acredito que estou estimulando vocês, alunos e leitores, a aprender e crescer mais. Então vamos em frente!
Como alguns devem ter visto eu lancei o GeSpeak 0.3 nesta semana, ele é um bom exemplo do que veremos hoje, as aplicações em PyGTK. O PyGTK usa o GTK+ para oferecer um conjunto de elementos gráficos para desenvolvimento de interfaces com o usuário. O PyGTK é multiplataforma (*nix e Windows) o que significa que seu código pode rodar sem alterações praticamente em qualquer canto. O que não é o caso do GeSpeak, já que ele utiliza comandos do Linux para algumas tarefas.
Então vamos começar com o básico, janelas e botões.
O código abaixo cria uma janela com um botão, não há, ainda qualquer tipo de ação para o botão:
janela = gtk.Window(gtk.WINDOW_TOPLEVEL)
botao = gtk.Button("Clique aqui...")
janela.add(botao)
janela.show_all()
Pronto, um programinha bem simples. Ele só exibe o botão, mas vamos entender como isso funciona…
Na segunda linha estamos importando o módulo PyGTK.
Na terceira linha nós usamos a função require do PyGTK para ter certeza que estamos com um versão da família 2.x.
A quarta linha é responsável por importar o módulo GTK.
Na sexta linha é criado um objeto da classe Window do módulo gtk.
Na sétima linha é criado um botão usando a classe Button.
Na nona linha adicionamos o botão à janela usando a função add() da classe Window.
A décima linha serve para exibir a janela e tudo o que está dentro dela, com a função show_all().
E na décima segunda linha chamamos o looping principal do GTK com a função main().
Agora vou mostrar um exemplo em que o clique do botão dispara uma função que exibirá "Hello World" no terminal:
def ola_mundo(widget):
botao.connect('clicked', ola_mundo)
Vejam que agora a função connect() é usada para "conectar" o sinal "clicked" do botão à função ola_mundo().
Bem por enquanto é isso. Na próxima aula teremos mais, recomendo que todos leia o artigo Mantendo a Sanidade com o Glade, pois no começo dele é explicado como o GTK trabalha, leiam sobre os sinais e também a parte "Explodindo Coisas".
A lição de casa de hoje é muito simples, mas vocês vão precisar usar a Referência do PyGTK para fazer. Eu só quero uma janela com um botão escrito "Clique aqui", e quando a pessoa clicar o texto do botão deve mudar para "Clicado".