Criando uma calculadora com o Glade

ice

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.

[ Hits: 113.954 ]

Por: Iuri Cernov em 15/03/2005


Criando a interface do nosso programa



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".

Vamos agora para a próxima parte...

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Criando a interface do nosso programa
   3. Analisando o código-fonte
   4. Criando as funções do programa
   5. Compilando e rodando o programa
   6. Conclusão
Outros artigos deste autor

Operadores de redirecionamento

Incrementando seus scripts com dialog

Leitura recomendada

Bibliotecas estáticas c/c++

Introdução à linguagem C - Parte IV

Introdução a GTK+ em C

Linguagem C - O primeiro programa

O ? Alternativo em C/C++

  
Comentários
[1] Comentário enviado por ice em 17/03/2005 - 16:53h

E aí pessoal cadê os comentários??

[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.

[3] Comentário enviado por ice em 18/03/2005 - 15:24h

Eu acho que não, mas dá pra usar com o Python. Eu não sei como, mas dá...

[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í !!

Valeu !!

[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

[8] Comentário enviado por FelipeAbella em 30/06/2006 - 13:02h

Já foi um bom começo para eu começar a programar em GTK+, agora eu vou baixar mais tutoriais. Nota 10.

[9] Comentário enviado por phpandromeda em 02/12/2006 - 10:48h

Uso Slackware ....instalei o glade 3 .... mas naum consigo compilar nem um simples exemplo .....
#include <gtk/gtk.h>
#include <glade/glade.h>


int main (int argc, char *argv[])
{
GladeXML *ui;
gtk_init(&argc, &argv);

/* Read user interface description from glade file */
ui = glade_xml_new ("oi.glade", "main_window", NULL);
/* Automatically connect signals */
glade_xml_signal_autoconnect(ui);
gtk_main();

return 0;
}


ele da a seguintes mensagens de erro

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!

parabéns e obrigado!!!

Fábio

[11] Comentário enviado por hiroyuki em 12/09/2007 - 11:32h

muito bom! arquivo está servindo de ponta-pé inicial para o estudo do glade =)

[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".

Alguém pode me ajudar...

[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.

Obrigado amigo, abraços.

[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!

[17] Comentário enviado por lucas_daltro em 30/06/2010 - 21:24h

Muito legal cara,tem pouca documentação GTK em português valeu!

[18] Comentário enviado por evamberto em 03/04/2011 - 21:18h

legal....................................................

[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.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts