Precisa de um freelancer, códigos-fonte e exemplos completos?
Bem-vindo(a) ao meu site. Além de realizar alguns serviços como freelancer eu tenho alguns códigos-fonte e exemplos completos de Java, Delphi, PHP, Python, C/C++, Hibernate, JPA, Spring, JSP, Servlets, Ruby, Ruby On Rails e muitas outras linguagens e frameworks. Veja como falar comigo clicando aqui.
 
Arquivo de Códigos - Página Inicial
Códigos-fonte
» Códigos-fonte e exemplos completos
Linguagens
» ActionScript
» Adobe AIR
» Adobe Flex
» AJAX
» C
» C#
» C++
» CSS
» Delphi
» DHTML - Dynamic HTML
» HTML/XHTML
» Java
» JavaFX
» JavaScript
» Java Servlets
» JSP - Java Server Pages
» Perl
» PHP
» PHP-GTK
» Python
» Ruby
» Tcl/Tk
» VB.NET
Bancos de Dados
» IBM DB2
» MySQL
Frameworks
» CodeIgniter
» jQuery
» JSF - Java Server Faces
» Qt
» Ruby On Rails
» Struts
» Struts 2
» wxWidgets
» Zend Framework
Container/Servidor
» Apache Tomcat
» Apache Web Server
Ferramentas
» Apache Ant
» iTextSharp (iText#)
Referências
» CSS1 e CSS2
» JavaScript
Serviços On-Line
» Qual é meu IP?
» Tabela Cores HTML I
» Tabela Cores HTML II
» Lista de Mime Types
» Códigos Teclas Virtuais
Usuários On-Line
Visitantes: 33
PHP
O que há de novo no PHP 5?
40 dicas e truques sobre como trabalhar com datas e horas em PHP
60 dicas e truques sobre como trabalhar com strings e caracteres em PHP
PHP e a Orientação a Objetos - POO (Curso Completo)

DHTML
Curso completo de DHTML para iniciantes

CSS
Como definir uma imagem de fundo fixa na página
Definindo uma imagem de fundo para botões HTML
Você está aqui: Inicio -> Tutoriais -> wxWidgets
Instalando, configurando e escrevendo sua primeira aplicação wxWidgets no Ubuntu Linux
1 - Introdução

O framework wxWidgets auxilia na criação de aplicações desktop para Win32, Mac OS X, GTK+, X11, Motif, WinCE e outros. E tudo isso usando a mesma base de código, ou seja, o mesmo código escrito para Win32 compilará com pouquíssimas modificações, no Linux, por exemplo. wxWidgets pode ser usado em combinação com as linguagens C++, Python, Perl, C#/.NET entre outras. Diferente de outros toolkits para múltiplas plataformas, aplicações wxWidgets possuem a aparência e comportamento nativo do sistema no qual estão sendo executadas.

wxWidgets é gratuíto e pode ser usado até mesmo em aplicações comerciais. Alguns exemplos de aplicações escritas usando wxWidgets são: AOL Communicator e AVG AntiVirus.

Este artigo mostra a você como instalar e configurar o wxWidgets no Ubuntu Linux 8.04. Lembre-se de que instalações em Linux geralmente vêm acompanhadas de uma série de mensagens de erro e alertas sobre a necessidade de instalar e configurar dependências. Assim, tenha a certeza de estar bem tranquilo, longe da namorada ou namorado, telefone e celular desligados e com sua configuração à internet devidamente configurada. Serão aproximadamente duas horas de muita concentração.

2 - Baixando, instalando e configurando o wxWidgets

Para instalar o wxWidgets no Ubuntu Linux, comece apontando seu navegador para http://www.wxwidgets.org/downloads, vá na parte Source Archives e baixe wxGTK. Durante a autoria deste artigo, o nome do arquivo é wxGTK-2.8.7.tar.gz. Salve este arquivo em um diretório chamado "devel".

Hora de descompactar. Entre no diretório devel e dispare o comando:

tar -zxvf wxGTK-2.8.7.tar.gz

Dentro de devel, crie um diretório chamado buildStaticGTK e entre nele com os seguintes comandos:

mkdir buildStaticGTK
cd buildStaticGTK


Vamos configurar o wxWidgets agora. A partir do diretório buildStaticGTK você deverá disparar:

../wxGTK-2.8.7/configure --with-gtk -disable-shared

Durante este processo pode ocorrer das rotinas de configuração não encontrarem o g++. Se isso acontecer instale-o e dispare o comando novamente.

Outro erro muito comun é a ausência da libgtk. Se o configure reclamar, instale-a com o seguind comando e dispare o configure novamente:

sudo apt-get install libgtk2.0-dev


Hora de disparar o make:

make

Depois do make temos que instalar o wxWidgets, ou seja, mover alguns arquivos para diretórios que só permitem alterações mediante a senha do root. Portanto:

su root <vai pedir a senha>

Agora que você tem privilégios de super usuário, dispare:

make install

e em seguida:

ldconfig

Pronto! Se tudo correu bem, você pode testar o wxWidgets a partir de qualquer diretório usando os comandos:

wx-config --cxxflags

e

wx-config --libs

Estes comandos mostrarão a forma como o wxWidgets está disponível para o compilador C++.

3 - Escrevendo sua primeira aplicação C++ e wxWidgets

Crie um diretório para colocarmos a aplicação. Uma boa sugestão é "estudos" e pode ser criado na sua pasta de usuário mesmo. Em seguida crie um arquivo ola.cpp dentro deste diretório. Abra o arquivo para edição e cole o seguinte código:

Código para ola.cpp

#include "wx/wx.h"

class Aplicacao: public wxApp
{
  virtual bool OnInit();
};

class Janela: public wxFrame
{
public:
  Janela(const wxString& title, const wxPoint& pos,
    const wxSize& size);

  void OnSair(wxCommandEvent& event);
  void OnSobre(wxCommandEvent& event);

  DECLARE_EVENT_TABLE()
};

enum
{
  ID_Sair = 1,
  ID_Sobre,
};

BEGIN_EVENT_TABLE(Janela, wxFrame)
  EVT_MENU(ID_Sair, Janela::OnSair)
  EVT_MENU(ID_Sobre, Janela::OnSobre)
END_EVENT_TABLE()

IMPLEMENT_APP(Aplicacao)

bool Aplicacao::OnInit()
{
  Janela *janela = new Janela(_T("Olá, Mundão!"), wxPoint(50,50),   wxSize(430,300));
  janela->Show(TRUE);
  SetTopWindow(janela);
  return TRUE;
}

Janela::Janela(const wxString& title, const wxPoint& pos,
    const wxSize& size): wxFrame((wxFrame *)NULL, -1, title,
    pos, size)
{
  wxMenu *menuArquivo = new wxMenu;

  menuArquivo->Append(ID_Sobre, _T("&Sobre..."));
  menuArquivo->AppendSeparator();
  menuArquivo->Append(ID_Sair, _T("Sa&ir") );

  wxMenuBar *barraMenu = new wxMenuBar;
  barraMenu->Append(menuArquivo, _T("&Arquivo"));

  SetMenuBar(barraMenu);

  CreateStatusBar();
  SetStatusText(_T("by Osmar J. Silva"));
}

void Janela::OnSair(wxCommandEvent& WXUNUSED(event))
{
  Close(TRUE);
}

void Janela::OnSobre(wxCommandEvent& WXUNUSED(event))
{
  wxMessageBox(_T("Este é um exemplo de aplicação wxWidget"),
    _T("Sobre o programa"), wxOK | wxICON_INFORMATION, this);
}


Vamos compilar? Dentro do diretório no qual você salvou o arquivo ola.cpp, dispare o comando:

g++ ola.cpp `wx-config --cxxflags` `wx-config --libs`-o ola

Cuidado! Você tem que usar "`" e não o apóstrofo "'". Hora de executar:

./ola

Se tudo correu bem você terá o seguinte resultado:


4) Conclusão

O wxWidgets é realmente um framework para a construção de interfaces gráficas que nos surpreende pela facilidade de uso e riqueza de suas classes e métodos. Desta forma, convidamos-o, agora, a visitar nossa seção de dicas, truques e anotações sobre wxWidgets. Temos certeza que você encontrará muita coisa útil.
 
 
Arquivo de Códigos - Página Inicial
Veja dicas, truques e anotações de .NET Framework
Entenda a classe StreamWriter
Entenda a classe StreamReader
Veja dicas, truques e anotações de outras linguagens
VB.NET - Como verificar se um valor está contido em algum dos elementos de um array usando um predicate
Ruby - Verificando se uma substring está contida em uma string usando o método include? da classe String
Java - Escrevendo uma classe que extende a classe abstrata MouseAdapter
Ruby - Usando o método size para obter a quantidade de caracteres em uma string
C# (CSharp) - Usando os métodos BeginUpdate e EndUpdate durante a inserção de itens em um ComboBox
Delphi - Como obter o diretório atual usando a função GetCurrentDir()
C# (CSharp) - Como obter a quantidade de caracteres (tamanho de) em uma string
Adobe Flex - Como usar o evento itemEditBegin para descobrir a linha e coluna da célula do DataGrid que vai ser editada
VB.NET - Como criar um diretório usando VB.NET
Adobe Flex - Entendendo a classe Panel

       

http://www.arquivodecodigos.net
:: Arquivo de Códigos - Softwares e Consultoria em Programação ::
Todo o conteúdo deste site, quando não devidamente observado, pertence a seus idealizadores e não
poderá ser usado para outras finalidades senão estudo e aprimoramento de técnicas de programação.
Certifique-se de ler as notas legais antes de proceder com o acesso e leitura do
conteúdo disponibilizado nestas páginas.

Fale Conosco: (62) 3261-7018 / (62) 8185-0734

Desenvolvedor Responsável: Osmar J. Silva

Página Inicial Contatos Pesquisar Mapa do Site