linux_ programando no ubuntu - aplicações gráficas em c++ com eclipse e glad

5
Linux: Programando no Ubuntu - aplicações gráficas em C++ com Eclipse e Glade [Dica] http://www.vivaolinux.com.br/dica/Programando-no-Ubuntu-aplicacoes-graficas-em-C++-com-Eclipse-e-Glade[2/8/2010 18:20:25] Todo o site » Menu Artigos .Conf Camisetas Comunidades Dicas Eventos Perguntas Screenshots Scripts Simulado Wallpapers Treinamento Zope Plone Curso Perl Online [ Como anunciar? ] » O que é GNU/Linux | Download do GNU/Linux | Anuncie | Fale Conosco Dica Home » Dicas » C/C++ » Introdução » Visualização de dica 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/ [ Hits: 2073 ] + Favoritos Versão para impressora Indicar para um amigo Enviar dica Programando no Ubuntu - aplicações gráficas em C++ com Eclipse e Glade Vamos dar um exemplo simples usando o Eclipse. Então, vamos passo a passo. 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. Você também vai precisar do compilador GCC, que pode ser obtido pelo Synaptic buscando por "build-essential" e instalando, mas isso também 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", 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 telas, já que neste modelo que abordamos a parte visual e o código são separados. 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 principalmente, que você ainda não tenha o Eclipse, vamos ao terminal pra instalar os últimos pacotes necessários. Podemos usar dois Login | Cadastre-se Visite também: Segurança Linux · BR-Linux.org · Dicas-L · NoticiasLinux · SoftwareLivre.org · UnderLinux · BestLinux Anúncios Google Rádios 900 2.4 e 5.8 GHz Rádios Profissionais. Ótimos preços. Alta Disponibilidade ! www.orbitel.com.br

Upload: jrobertoamaral

Post on 21-Jun-2015

501 views

Category:

Documents


0 download

TRANSCRIPT

Linux: Programando no Ubuntu - aplicaes grficas em C++ com Eclipse e Glade [Dica]

Todo o site Todo o site O que GNU/Linux | Download do GNU/Linux | Anuncie | Fale Conosco Dica Home Dicas C/C++ Introduo Visualizao de dica

Login | Cadastre-se

Visite tambm: Segurana Linux BR- Linux.org Dicas- L NoticiasLinux SoftwareLivre.org UnderLinux BestLinux

Treinamento Zope Plone Curso Perl Online

Programando no Ubuntu - aplicaes grficas em C++ com Eclipse e GladePublicado por Pedro Arajo em 25/02/2010 Login: PedroAraujo, 59928 pontos Homepage: http://www.pedro-araujo.com/ [ Hits: 2073 ] + Favoritos Verso para impressora Indicar para um amigo Enviar dica

Menu Artigos .Conf Camisetas Comunidades Dicas Eventos Perguntas Screenshots Scripts Simulado Wallpapers

Programando no Ubuntu - aplicaes grficas em C++ com Eclipse e GladeVamos dar um exemplo simples usando o Eclipse. Ento, vamos passo a passo.

Anncios Google

Instalao dos pacotesPrimeiro, voc vai precisar dos pacotes pra desenvolvimento "libgtkmm2.4" e "libglademm-2.4". Pesquise estes pacotes no gerenciador de pacotes Synaptic e marque-os para instalao, que eu recomendo que seja total.

Rdios 900 2.4 e 5.8 GHzRdios Profissionais. timos preos. Alta Disponibilidade !www.orbitel.com.br

Voc tambm vai precisar do compilador GCC, que pode ser obtido pelo Synaptic buscando por "build-essential" e instalando, mas isso tambm pode ser feito aps a instalao do Eclipse. Depois, pela central de programas do Ubuntu, vamos fazer uma pesquisa na categoria Programao e marcar pra instalar o "Devhelp", que a nossa referncia pro uso das funes do GTK, e o "Glade Interface Designer", que a ferramenta que usaremos pra desenhar as telas, j que neste modelo que abordamos a parte visual e o cdigo so separados. No meu caso eu j tinha o Eclipse instalado, mas a instalao oferecida pelo gerenciador voltada pro Java, e como vamos programar em C++ precisamos do Eclipse CDT. Independente disso, mesmo, ou principalmente, que voc ainda no tenha o Eclipse, vamos ao terminal pra instalar os ltimos pacotes necessrios. Podemos usar dois

[Como anunciar?]

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 - aplicaes grficas em C++ com Eclipse e Glade [Dica]comandos, assim seguramente instalamos tudo o que falta: $ sudo apt-get install eclipse-cdt $ sudo apt-get install libgtkmm-2.4-1c2a build-essential libgtkmm-2.4-dev Destaques 07/09 (feriado) - VOL DAY II - Bebedouro/SP (13) Novo Curso de Software Livre Gratuito distncia (29) Aulas de GIMP e INKSCAPE disponveis para download gratuito (2) 03/09 - Linux in Rio 2010 (0) SESCSP [Pompeia] Cursos Linux (0) 14/08 - 3 Festival de Software Livre de Belo Horizonte / Betim (2) Freelancer Android e/ou iPhone (0) TRI Tecnologia desconto de 30% associados Viva ao Linux (0)

Agora que temos tudo que precisamos vamos ao segundo passo, criando uma tela.

Criando telasEsse passo simples, e no velho esquema do arrastar e soltar que conhecemos. Lembre-se das instalaes acima, e agora vamos no menu Aplicativos - Programao - Construtor de Interfaces Glade. O programa no tem segredo, logo que abre ele j exibe uma janela de configurao pra tela que vamos criar, basicamente no mudamos nada. A nica coisa que temos que prestar a ateno em formato do arquivo do projeto, que deve ser marcado a opo "Libglade", pois o formato que usaremos. Montar a tela no necessita de explicaes avanadas. Monte e salve no formato citado acima, com a extenso ".glade". Basicamente ele gera um arquivo XML com o layout da tela. Agora vamos criar o projeto C++ e programar no Eclipse. Crie um novo projeto no Eclipse, selecionando a opo Managed Make C++ Project. Siga pelo assistente, e ao chegar na tela "Select a type of project", marque o tipo de projeto como Executable (GNU) e pode finalizar. No nosso exemplo s usaremos a configurao de Release pra gerar os executveis, s pra que nossa demonstrao seja mais compacta. Com o projeto criado, vamos configur-lo associando as bibliotecas que 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 inclumos 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 gtkmm2.4` `pkg-config --cflags libglademm-2.4` (com crase mesmo, no aspa simples). Agora, vamos at o n GCC C++ Linker e tambm selecionamos o item Miescellaneous dele, alterando o valor do campo Linker flags para `pkg-config --libs gtkmm-2.4` `pkg-config --libs libglademm-2.4`, da mesma forma. Pronto, s aplicar e dar OK.

ltimos artigos A importncia do modo texto Introduo ao Fortran (parte 1) Scim e OpenOffice.org Instalando o X-Money no Linux Rodar o DDO no Ubuntu usando o Wine Configurando modem MF622 da Claro no FreeBSD 8.0 e OpenBSD 4.7

Screenshot

Por hellnux

Login

ltimas dicas Montando servidor VoIP com Elastix GoogleCL: O poder do Google na linha de comando Montando uma partio LVM TV Software Livre (videos online) Tocar DVDs protegidos por CSS no Ubuntu 9.10 e 10.04 Problemas para criar CDs de udio a partir de MP3 no K3b no Ubuntu? No mais! Ativando rolagem de 2 dedos no touchpad Acelerando seus downloads com o aria2

Login: Senha:

ProgramandoSem nos apegarmos muito ao mrito da questo da linguagem C++, vamos criar dois arquivos. O primeiro nomeamos no exemplo como "simple.h" e nele fazemos os includes das bibliotecas do Glade e do GTK e tambm escrevemos as declaraes da nossa classe principal. A extenso .h de header. O cdigo fonte desse nosso arquivo fica assim: Top 10 usurios #ifndef SIMPLE_H #define SIMPLE_H #include #include class Aplicacao { //Declarao das variveis para os componentes visuais Gtk::Window *janelaPrincipal; Gtk::ComboBox *combo; Gtk::Label *etiqueta; 5229725: Fbio Berbert de Paula 4361355: Alessandro de Oliveira Faria (A.K.A. CABELO) 2364962: Antonio Carlos Vasques da Silva 2004312: Jefferson Estanislau da Silva Se voc ainda no possui uma conta, clique aqui. Esqueci minha senha

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 - aplicaes grficas em C++ com Eclipse e Glade [Dica]Gtk::Button *botao; Gtk::MessageDialog *myMsg; public: //Mtodo construtor Aplicacao(); //Declarao das funes associadas aos eventos dos componentes virtual void mudaTamanho(); virtual void Fechar(); }; #endif O nosso outro arquivo nomeamos como "demo.cpp" e nele escrevemos os cdigos pra rodar o programa, montar a tela a partir daquele XML gerado e programamos os eventos dos componentes. #include "simple.h" Aplicacao::Aplicacao() { //Carrega a interface a partir do arquivo glade Glib::RefPtr arvoreDeWidgets = Gnome::Glade::Xml::create("telas/winPrincipal.glade"); //Associa os widgets (componentes) s variveis arvoreDeWidgets->get_widget("winPrincipal", Aplicacao::janelaPrincipal); arvoreDeWidgets->get_widget("lblSenha", Aplicacao::etiqueta); arvoreDeWidgets->get_widget("cmbPrincipal", Aplicacao::combo); arvoreDeWidgets->get_widget("btnSair", Aplicacao::botao); //Associa os sinais (eventos) dos componentes s funes que criamos Aplicacao::combo>signal_changed().connect(sigc::mem_fun(*this, &Aplicacao::mudaTamanho)); Aplicacao::botao->signal_clicked().connect(sigc::mem_fun(*this, &Aplicacao::Fechar)); //Define o valor padro dentre os itens da combo Aplicacao::combo->set_active(0); //Exibe toda interface Aplicacao::janelaPrincipal->show_all(); Gtk::Main::run(*janelaPrincipal); } void Aplicacao::Fechar() { //Fecha a aplicao Gtk::Main::quit(); } void Aplicacao::mudaTamanho() { //Muda texto do label conforme o item selecionado da combo switch (this->combo->get_active_row_number()) { case 0: this->etiqueta->set_markup("Texto item 1."); break; case 1: this->etiqueta->set_markup("Texto item 2."); break; case 2: this->etiqueta->set_markup("Texto item 3."); break; default: break; } } int main(int argc, char* argv[]) { //Inicia a aplicao 1908757: Percival F. Jr. 1883320: Davidson Rodrigues Paulo 1573152: Elgio Schlemer 1503358: Thiago Alves 1489032: Cicero Juliao da Silva Junior 1416952: Wanderson Berbert

Segurana Linux [Artigo] XLSInjector Saiba como injetar um Shell Meterpreter em arquivos Excel [Notcia] 26a edio (IN)SECURE [Notcia] Pacote crtico da Adobe corrige 32 vulnerabilidades na esteira do zero-day attack [Dica] SSLStrip Capturando trfego SSL [Artigo] Dicas avanadas de segurana para SSH [Dica] Podcat Stay Safe - Segurana de um jeito descontrado [Notcia] Skavurska! Motorola SURFBoard Cable Modem Directory Traversal

Wallpaper

Por lucianomarques1

ltimos scripts [HTML/Javascript] Validar extenso de arquivo [PHP] Mural de recados em PHP [C/C++] Calcular tempo de download [HTML/Javascript] Crazy Pop-up [Shell-Script] Instalador .tar.bz2 com menu grfico Zenity

Ubuntu DVDS Linux Ubuntu 10.04 Ubuntu Ubuntu Beryl Adquirir Ubuntu Perguntas Certificao LPI / faculdade (5) Bug Imagem Ubuntu 10.4 (0) Modem 3G (0) Como alterar a resoluo de vdeo no Debian (4) Desinstalei a barra de ferramentas, como instalar? (1) QUAL MELHOR? (16) Anomalia no tamanho das parties. (0) Squid/ IpTables (8)

.Conf [Conky] conky.conf Configurao para o Conky bastante completa, d... [Conky] conkyrc Conky com calendrio [X configuration file generated by nvidiasettings] xorg.conf - X no Ubuntu com NVidia 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 - aplicaes grficas em C++ com Eclipse e Glade [Dica]Gtk::Main kit(argc, argv); Aplicacao aplicacao; return 0; [Samba] smb.conf smb.conf todo em portugus com exemplos [Conky] .conkyrc Netbook com Conky

}

Como voc pode ver, o programa no tem uma determinada funcionalidade, apenas muda a aparncia 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 referncia completa do GTK, Libglade etc, voc pode consultar o Devhelp, que instalamos conforme dito no incio. 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 pgina depois dela aberta Como converter uma imagem de CD do Nero (.nrg) para ISO no Ubuntu/Debian Ubuntu Server - Login e execuo de comandos automaticamente HTML - Forar a abertura de todos os links em uma nova janela Criando links para arquivos e diretrios no Linux Leitura recomendada Qt - Adicionando uma foto em Label (QLabel) Instalao do editor xwpe - Debian Como limpar a tela em C Usando comandos do sistema em C O poder do #define Comentrios [1] Comentrio enviado por landex em 10/06/2010 - 10:25h: Bem legal est dica! Muito boa mesmo hein!!!

Contribuir com comentrio

[ Recarregar imagem ] Digite o cdigo 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 - aplicaes grficas em C++ com Eclipse e Glade [Dica]

Enviar

Limpar

Para executar esta ao voc precisa estar logado no site, caso contrrio, tudo o que for digitado ser perdido.

Contribuir com: [ Artigo | Conf | Dica | Evento | Oportunidade de trabalho |Pergunta | Script | Screenshot | Simulado | Wallpaper ] Site hospedado por: Responsvel pelo site: Fbio Berbert de Paula - Contedo distribudo sob licena GNU FDL

Viva o Linux A maior comunidade Linux da Amrica Latina! Artigos, dicas, tutoriais, frum, scripts e muito mais. Ideal para quem busca autoajuda em Linux. Membros da comunidade

Estatsticas do site Equipe de moderadores FAQ: Perguntas freqentes

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