Neste artigo vou mostrar como se cria uma calculadora com o Glade e o GTK+. Para quem não sabe, Glade é um RAD (Rapid Application Development) que nos permite criar interfaces em GTK+ de forma bem simples, a base de cliques.
Nossa calculadora será bem simples e funcionará da
seguinte forma: coloca-se um número no primeiro
campo, outro número no segundo campo e depois
escolhe a operação que quer fazer (somar, multiplicar etc).
O resultado aparecerá no primeiro campo e o segundo campo
ficará vazio.
Ok, então vamos começar!
Primeiro crie um projeto novo:
Clique em "Novo";
Escolha "Novo projeto GTK+".
Depois crie uma janela:
Clique em "Janela" na paleta.
Na janela "Propriedades", coloque:
Nome: calculadora (em minúsculo mesmo);
título: Calculadora - Por (Seu nome aqui!);
Na aba "Comum" da janela "Propriedades", coloque:
Largura: 250
Altura: 255
Na aba "Sinais" da janela "Propriedades", coloque:
Sinal: destroy
Manipulador: gtk_main_quit
Clique em "Adicionar".
Essa última ação é pra quando clicar no "Xizinho" da
janela ela fechar.
Agora clique em "Posições fixas" da Paleta (a que tem
um quadrado grande com três quadradinhos espalhados)
e clique na janela depois. Não será preciso mudar nada
nas propriedades.
Salve o projeto em ~/calculadora.
Crie então a seguinte interface o mais parecido possível:
E então mude as propriedades de cada um:
ATENÇÃO: Respeite as maiúsculas e minúsculas!!!
-- entry1
- Widget
- Nome: enPrimeiro
- Comum
- Largura: 112
- Altura: 24
- Dica de ferramenta: Digita um número aí
-- entry2
- Widget
- Nome: enSegundo
- Comum
- Largura: 112
- Altura: 24
- Dica de ferramenta: Digita outro aí
-- button1
- Widget
- Nome: btMais
- Etiqueta: _Somar
- Comum
- Largura: 128
- Altura: 26
- Sinais
- Clique em "..."
- Escolha "clicked"
- Clique em "Adicionar"
-- button2
- Widget
- Nome: btMenos
- Etiqueta: S_ubtrair
- Comum
(mesmo de button1)
- Sinais
(mesmo de button1)
-- button3
- Widget
- Nome: btVezes
- Etiqueta: _Multiplicar
- Comum
(mesmo de button1)
- Sinais
(mesmo de button1)
-- button4
- Widget
- Nome: btDiv
- Etiqueta: _Dividir
- Comum
(mesmo de button1)
- Sinais
(mesmo de button1)
-- button5
- Widget
- Nome: btSair
- Etiqueta: Sai_r
- Icone: Sair
- Comum
(mesmo de button1)
- Sinais
- Digite "clicked" em Sinal
- Em Manipulador digite "gtk_main_quit"
- Clique em "Adicionar"
Ok, finalmente terminamos! Vamos agora criar o código fonte:
Salve o projeto;
Clique em "Construir" na janela "Glade: calculadora";
Aparecerá na barra de status: "código fonte gravado".
[2] Comentário enviado por padovani em 17/03/2005 - 17:31h
Parabéns pelo artigo! Eu estava mesmo procurando um RAD para começar a programar em GTK+ e gostei muito do Glade. Aproveitando a oportunidade, gostaria de saber se há como trabalhar com shell-script no Glade, ou seja, chamar algum script a partir do programa.
[4] Comentário enviado por ramonklown em 19/03/2005 - 15:03h
é só você chamar o comando do shell-script, não dá para chamar um programa em shel inteiro pois um programa shell não utiliza interface gráfica. Mas pode fazer links para executar comando por comando.
[5] Comentário enviado por lilolouco em 26/10/2005 - 10:31h
eu tentei compilar o programa porem quando eu digitei os comandos deu a seguinte mensagem
"usr/bin/ld: cannot find -lfontconfig"
e nao compilou, porem como o glade gera um autoexec eu rodei e quando o glade gerou o makefile na pasta src eu deletei as linhas do tal -fontconfig e funcionou...soh nao sei se isso eh seguro fazer...se nao for o que devo fazer?
[6] Comentário enviado por assismvla em 26/11/2005 - 18:18h
Como eu faria por exemplo : tenho uma primeira tela por exemplo de login, com dois campos login, senha e um botão "enviar".Onde(em qual arquivo callback.c , main.c ??) ficaria o codigo da conexão com o banco e depois como faia para chamar uma segunda tela(uma segunta interface) com o programa em sí !!
[7] Comentário enviado por ustrucx em 28/11/2005 - 23:28h
Achei bem esclarecedor o artigo, a parte do codigo alí em gtk pra mim é um mistério :p mas o artigo é sobre glade e me esclareceu bastante a parte de criar os botoes e os atributos tal.
Estou agora na captura de como escrever em python no glade ;)
[]'s
gcc $(pkg-config --libs --cflags gtk+-2.0) stage1.c
stage1.c:2:25: glade/glade.h: No such file or directory
stage1.c: In function `main':
stage1.c:7: error: `GladeXML' undeclared (first use in this function)
stage1.c:7: error: (Each undeclared identifier is reported only once
stage1.c:7: error: for each function it appears in.)
stage1.c:7: error: `ui' undeclared (first use in this function)
[10] Comentário enviado por bozux em 06/03/2007 - 19:25h
Cara,
muito bom o artigo, explicando passo-a-passo e bem didático. Deu pra ter uma noção legal de como a coisa funciona... tá certo q é bem simples mas atendeu o objetivo!
[12] Comentário enviado por shirglei em 04/10/2007 - 15:52h
Amo o linux, uso ele, sempre.... mas sinceramente programar em linux é desanimador se comparado a outras IDEs como O borland C+= Builder, Delphi ou ate mesmo o Visual Studio da MICOsoft, é so por isso que ainda tenho o Ruindows instalando na minha maqui (so uso ele pra programar e nada mais )
[13] Comentário enviado por r.denilson em 13/12/2007 - 23:27h
Olá galera, achei fantástico a idéia desta calculadora só que até agora não estou conseguindo compilar. Estou recebendo o seguinte erro:
Package gtk+-2.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `gtk+-2.0.pc'
to the PKG_CONFIG_PATH environment variable
No package 'gtk+-2.0' found
Eu utilizo o Ubuntu. Instalei alguns pacotes do GTK, mas não consigo achar o bendito "gtk +-2.0".
[14] Comentário enviado por wswillianss em 19/12/2008 - 03:52h
Parabéns, gostei muito desse artigo. Estava procurando justamente isso aqui, na net e não achei, mas quando resolvi entrar no bom e velho Viva o Linux conseguir através do seu artigo. Excelente!!! Parabéns mesmo. Olha eu gostaria de saber como faço para, utilizar uma janela secundária neste artigo? É possível? Abração!
[15] Comentário enviado por Rob_Som em 27/04/2009 - 12:34h
Parabéns Pelo Artigo!
Me cadastrei no Viva o Linux para te dar o parabéns e para ajudar o próximo igual você fez.
Se não fosse o seu ótimo tutorial eu não iria conseguir finalizar o meu trabalho.
Fiz em C também, foi locura, mas eu fiz.
[16] Comentário enviado por xinobio em 26/06/2009 - 01:29h
cara, gostei mto desse tuto! n conhecia o glade, ele eh mto podereso mesmo!
mas, acho q fiz algo errado, quando digito os dois numeros e alguma operação da erro e sai ! Mas deve ter sido bronca minha mesmo...
obrigado mesmo ai velho!
[19] Comentário enviado por wladimir58 em 20/06/2016 - 15:45h
Infelizmente, pelo menos para mim, o Glade dá problemas de incompatibilidade; já tentei usar vários exemplos de programas com ele e python, mas simplesmente não funciona.
A versão que eu tinha do glade era 3.x e geralmente a maioria dos escipts pedem a versão 2.0
Desisti do Glade e agora to usando o QT Interface Designer, é muito melhor.