Sei sulla pagina 1di 5

Linux: Programando no Ubuntu - aplicações gráficas em C++ com Eclipse e Glade [Dica]

Todoo site
Todo o site

» O que é GNU/Linux   |   Download do GNU/Linux   |   Anuncie   |   Fale Conosco Login   |   Cadastre-se    
Visite também: Segurança Linux · BR- Linux.org · Dicas- L  · NoticiasLinux · SoftwareLivre.org · UnderLinux · BestLinux
Dica
Treinamento Zope Plone
Home » Dicas » C/C++ » Introdução » Visualização de dica Curso Perl Online

Programando no Ubuntu - aplicações gráficas em C++ com


Eclipse e Glade
Publicado por Pedro Araújo em 25/02/2010

Login: PedroAraujo, 59928 pontos Homepage:


http://www.pedro-araujo.com/
» Menu
[ Hits: 2073 ]

Artigos + Favoritos   Versão para impressora   Indicar para um amigo  


.Conf Enviar dica  

Camisetas
Programando no Ubuntu - aplicações gráficas em
Comunidades
C++ com Eclipse e Glade
Dicas
Vamos dar
Eventos um exemplo
simples
Perguntas usando o
Eclipse.
Screenshots
Então,
Scripts vamos
passo a
Simulado passo.

Wallpapers

Anúncios Google

Instalação dos pacotes


Primeiro, você vai precisar dos pacotes pra desenvolvimento "libgtkmm-
2.4" e "libglademm-2.4". Pesquise estes pacotes no gerenciador de
pacotes Synaptic e marque-os para instalação, que eu recomendo que
seja total.
Rádios 900 2.4 Você também vai precisar do compilador GCC, que pode ser obtido pelo
Synaptic buscando por "build-essential" e instalando, mas isso também
e 5.8 GHz pode ser feito após a instalação do Eclipse.

Depois, pela central de programas do Ubuntu, vamos fazer uma


pesquisa na categoria Programação e marcar pra instalar o "Devhelp",
Rádios Profissionais. que é a nossa referência pro uso das funções do GTK, e o "Glade
Interface Designer", que é a ferramenta que usaremos pra desenhar as
Ótimos preços. Alta telas, já que neste modelo que abordamos a parte visual e o código são
separados.
Disponibilidade !
No meu caso eu já tinha o Eclipse instalado, mas a instalação oferecida
pelo gerenciador é voltada pro Java, e como vamos programar em C++
precisamos do Eclipse CDT. Independente disso, mesmo, ou [Como anunciar?]
www.orbitel.com.br principalmente, que você ainda não tenha o Eclipse, vamos ao terminal
pra instalar os últimos pacotes necessários. Podemos usar dois

http://www.vivaolinux.com.br/dica/Programando-no-Ubuntu-aplicacoes-graficas-em-C++-com-Eclipse-e-Glade[2/8/2010 18:20:25]
Linux: Programando no Ubuntu - aplicações gráficas em C++ com Eclipse e Glade [Dica]

comandos, assim seguramente instalamos tudo o que falta:


» Destaques
$ sudo apt-get install eclipse-cdt
$ sudo apt-get install libgtkmm-2.4-1c2a libgtkmm-2.4-dev 07/09 (feriado) - VOL
build-essential DAY II - Bebedouro/SP
(13)
Agora que temos tudo que precisamos vamos ao segundo passo, criando
Novo Curso de
uma tela.
Software Livre Gratuito
à distância (29)
Criando telas Aulas de GIMP e
INKSCAPE disponíveis
Esse passo é simples, e no velho esquema do arrastar e soltar que para download gratuito
conhecemos. Lembre-se das instalações acima, e agora vamos no menu (2)
» Últimos artigos Aplicativos - Programação - Construtor de Interfaces Glade. O programa
não tem segredo, logo que abre ele já exibe uma janela de configuração 03/09 - Linux in Rio
pra tela que vamos criar, basicamente não mudamos nada. 2010 (0)
A importância do modo
SESCSP [Pompeia] -
texto
A única coisa que temos que prestar a atenção é em formato do arquivo Cursos Linux (0)
Introdução ao Fortran do projeto, que deve ser marcado a opção "Libglade", pois é o formato 14/08 - 3º Festival de
(parte 1) que usaremos. Software Livre de Belo
Scim e OpenOffice.org Horizonte / Betim (2)
Montar a tela não necessita de explicações avançadas. Monte e salve no
Instalando o X-Money formato citado acima, com a extensão ".glade". Basicamente ele gera um Freelancer Android
no Linux arquivo XML com o layout da tela. e/ou iPhone (0)
Rodar o DDO no TRI Tecnologia
Ubuntu usando o Wine Agora vamos criar o projeto C++ e programar no Eclipse. Crie um novo desconto de 30%
projeto no Eclipse, selecionando a opção Managed Make C++ Project. associados Viva ao
Configurando modem
MF622 da Claro no Linux (0)
Siga pelo assistente, e ao chegar na tela "Select a type of project",
FreeBSD 8.0 e
marque o tipo de projeto como Executable (GNU) e pode finalizar. No
OpenBSD 4.7
nosso exemplo só usaremos a configuração de Release pra gerar os
executáveis, só pra que nossa demonstração seja mais compacta.

Com o projeto criado, vamos configurá-lo associando as bibliotecas que


» Screenshot
precisamos do Glade e do GTK. Indo no menu Project - Properties, ou
pelo menu pop-up de atalho do Project Explorer, que leva ao mesmo
lugar, nas propriedades para o nosso projeto, que no exemplo leva o
nome de EclipseGtkmmDemo, na categoria C/C++, na aba Tool Settings,
temos uma treeview e nela, no nó GCC C++ Compiler, selecionamos
Directories e na lista Include paths incluímos o /usr/include/tgkmm-2.4 e
o /usr/include/libglademm-2.4.

No mesmo nó selecionamos Miscellaneous e alteramos o valor do campo


Other flags para -c -fmessage-length=0 `pkg-config --cflags gtkmm-
Por hellnux 2.4` `pkg-config --cflags libglademm-2.4` (com crase mesmo, não é » Login
aspa simples). Agora, vamos até o nó GCC C++ Linker e também
selecionamos o item Miescellaneous dele, alterando o valor do campo
Login:
» Últimas dicas Linker flags para `pkg-config --libs gtkmm-2.4` `pkg-config --libs
libglademm-2.4`, da mesma forma. Pronto, é só aplicar e dar OK.
Senha:
Montando servidor VoIP
com Elastix Programando
GoogleCL: O poder do Se você ainda não
Sem nos apegarmos muito ao mérito da questão da linguagem C++,
Google na linha de possui uma conta,
vamos criar dois arquivos. O primeiro nomeamos no exemplo como
comando clique aqui.
"simple.h" e nele fazemos os includes das bibliotecas do Glade e do GTK
Montando uma partição e também escrevemos as declarações da nossa classe principal.
LVM Esqueci minha senha
TV Software Livre A extensão .h é de header. O código fonte desse nosso arquivo fica
(videos online) assim:
Tocar DVDs protegidos » Top 10 usuários
por CSS no Ubuntu
9.10 e 10.04 #ifndef SIMPLE_H
#define SIMPLE_H 5229725: Fábio Berbert
Problemas para criar
de Paula
CDs de áudio a partir #include <gtkmm.h>
de MP3 no K3b no #include <libglademm.h> 4361355: Alessandro
Ubuntu? Não mais! de Oliveira Faria
class Aplicacao (A.K.A. CABELO)
Ativando rolagem de 2
dedos no touchpad { 2364962: Antonio
  //Declaração das variáveis para os componentes visuais Carlos Vasques da Silva
Acelerando seus
  Gtk::Window *janelaPrincipal; 2004312: Jefferson
downloads com o aria2
  Gtk::ComboBox *combo; Estanislau da Silva
  Gtk::Label *etiqueta;

http://www.vivaolinux.com.br/dica/Programando-no-Ubuntu-aplicacoes-graficas-em-C++-com-Eclipse-e-Glade[2/8/2010 18:20:25]
Linux: Programando no Ubuntu - aplicações gráficas em C++ com Eclipse e Glade [Dica]

  Gtk::Button *botao; 1908757: Percival F. Jr.


  Gtk::MessageDialog *myMsg; 1883320: Davidson
» Segurança Linux
public: Rodrigues Paulo
  //Método construtor
1573152: Elgio
[Artigo] XLSInjector -   Aplicacao();
Schlemer
Saiba como injetar um   //Declaração das funções associadas aos eventos dos
Shell Meterpreter em componentes 1503358: Thiago Alves
arquivos Excel   virtual void mudaTamanho(); 1489032: Cicero Juliao
[Notícia] 26a edição -   virtual void Fechar(); da Silva Junior
(IN)SECURE };
1416952: Wanderson
[Notícia] Pacote crítico #endif Berbert
da Adobe corrige 32
vulnerabilidades na         O nosso outro arquivo nomeamos como "demo.cpp" e nele
esteira do zero-day escrevemos os códigos pra rodar o programa, montar a tela a
attack partir daquele XML gerado e programamos os eventos dos » Wallpaper
[Dica] SSLStrip - componentes.
Capturando tráfego
SSL #include "simple.h"
[Artigo] Dicas
Aplicacao::Aplicacao()
avançadas de
{
segurança para SSH
  //Carrega a interface a partir do arquivo glade
[Dica] Podcat Stay Safe   Glib::RefPtr<Gnome::Glade::Xml> arvoreDeWidgets =
- Segurança de um Gnome::Glade::Xml::create("telas/winPrincipal.glade");
jeito descontraído   //Associa os widgets (componentes) às variáveis Por lucianomarques1
[Notícia] Skavurska!   arvoreDeWidgets->get_widget("winPrincipal",
Motorola SURFBoard Aplicacao::janelaPrincipal);
Cable Modem Directory   arvoreDeWidgets->get_widget("lblSenha", Aplicacao::etiqueta);
Traversal   arvoreDeWidgets->get_widget("cmbPrincipal", Aplicacao::combo);
  arvoreDeWidgets->get_widget("btnSair", Aplicacao::botao); Ubuntu DVDS
  //Associa os sinais (eventos) dos componentes às funções que Linux Ubuntu
criamos 10.04 Ubuntu
» Últimos scripts   Aplicacao::combo- Ubuntu Beryl
>signal_changed().connect(sigc::mem_fun(*this, Adquirir Ubuntu
&Aplicacao::mudaTamanho));
[HTML/Javascript]   Aplicacao::botao->signal_clicked().connect(sigc::mem_fun(*this,
Validar extensão de » Perguntas
&Aplicacao::Fechar));
arquivo   //Define o valor padrão dentre os itens da combo
[PHP] Mural de recados   Aplicacao::combo->set_active(0); Certificação LPI /
em PHP   //Exibe toda interface faculdade (5)
  Aplicacao::janelaPrincipal->show_all(); Bug Imagem Ubuntu
[C/C++] Calcular
  Gtk::Main::run(*janelaPrincipal); 10.4 (0)
tempo de download
}
[HTML/Javascript] Modem 3G (0)
Crazy Pop-up void Aplicacao::Fechar() Como alterar a
[Shell-Script] { resolução de vídeo no
Instalador .tar.bz2 com   //Fecha a aplicação Debian (4)
menu gráfico Zenity   Gtk::Main::quit();
Desinstalei a barra de
}
ferramentas, como
instalar? (1)
void Aplicacao::mudaTamanho()
{ QUAL È MELHOR? (16)
  //Muda texto do label conforme o item selecionado da combo Anomalia no tamanho
  switch (this->combo->get_active_row_number()) das partições. (0)
  {
    case 0: Squid/ IpTables (8)
      this->etiqueta->set_markup("<small>Texto item
1.</small>");
      break;
    case 1: » .Conf
      this->etiqueta->set_markup("Texto item 2.");
      break; [Conky] conky.conf -
    case 2: Configuração para o
      this->etiqueta->set_markup("<big>Texto item 3.</big>"); Conky bastante
      break; completa, d...
    default:
[Conky] conkyrc -
      break;
Conky com calendário
  }
} [X configuration file
generated by nvidia-
int main(int argc, char* argv[]) settings] xorg.conf - X
{ no Ubuntu com NVidia
  //Inicia a aplicação GeForce 9400 GT

http://www.vivaolinux.com.br/dica/Programando-no-Ubuntu-aplicacoes-graficas-em-C++-com-Eclipse-e-Glade[2/8/2010 18:20:25]
Linux: Programando no Ubuntu - aplicações gráficas em C++ com Eclipse e Glade [Dica]

  Gtk::Main kit(argc, argv); [Samba] smb.conf -


  Aplicacao aplicacao; smb.conf todo em
  return 0; português com
} exemplos
[Conky] .conkyrc -
Netbook com Conky
Como você pode ver, o programa não tem uma determinada
funcionalidade, apenas muda a aparência do texto do nosso label. O
objetivo mesmo é mostrar como integrar as interfaces criadas com o
Glade e o C++. Agora é só compilar e clicar no "play" e conferir o
resultado.

Para mais detalhes e a referência completa do GTK, Libglade etc, você


pode consultar o Devhelp, que instalamos conforme dito no início. O
resto, é aprender C++.

Ubuntu Help Ubuntu Wiki XGL Ubuntu Ubuntu Howto Ubuntu Video

Outras dicas deste autor

    Como ajustar o tamanho do iframe pelo tamanho da tela e mudar o


target de uma página depois dela aberta
    Como converter uma imagem de CD do Nero (.nrg) para ISO no
Ubuntu/Debian
    Ubuntu Server - Login e execução de comandos automaticamente
    HTML - Forçar a abertura de todos os links em uma nova janela
    Criando links para arquivos e diretórios no Linux

Leitura recomendada

    Qt - Adicionando uma foto em Label (QLabel)


    Instalação do editor xwpe - Debian
    Como limpar a tela em C
    Usando comandos do sistema em C
    O poder do #define

Comentários
[1] Comentário enviado por landex em 10/06/2010 - 10:25h:

Bem legal está dica! Muito boa mesmo hein!!!

Contribuir com comentário

[ Recarregar imagem ]

Digite o código acima:

http://www.vivaolinux.com.br/dica/Programando-no-Ubuntu-aplicacoes-graficas-em-C++-com-Eclipse-e-Glade[2/8/2010 18:20:25]
Linux: Programando no Ubuntu - aplicações gráficas em C++ com Eclipse e Glade [Dica]

Enviar    Limpar

Para executar esta ação você precisa estar logado no site, caso
contrário, tudo o que for digitado será perdido.

Contribuir com: [ Artigo | Conf | Dica | Evento | Oportunidade de trabalho |Pergunta | Script | Screenshot | Simulado |
Wallpaper ]

Site hospedado
Responsável pelo site: Fábio Berbert de Paula - Conteúdo distribuído sob licença GNU FDLpor:

Viva o Linux Estatísticas do


site
A maior comunidade Linux da América Latina!
Artigos, dicas, tutoriais, fórum, scripts e Equipe de
muito mais. Ideal para quem busca auto- moderadores
ajuda em Linux. FAQ: Perguntas
freqüentes
Membros da comunidade

http://www.vivaolinux.com.br/dica/Programando-no-Ubuntu-aplicacoes-graficas-em-C++-com-Eclipse-e-Glade[2/8/2010 18:20:25]

Potrebbero piacerti anche