WxWidgets

He comenzado a experimentar con esta librería.

Un poco de fondo: WxWidgets es un conjunto de librerías para construir interfaces de usuario gráficas en aplicaciones de escritorio. La librería ofrece soporte para C++ de manera nativa. Sin embargo, hay enlaces para .NET, Java, Python y otros lenguajes. La licencia es libre (GPL2). Tiene ya varios años de estar disponibles en las distros mas populares, sin embargo, no le había puesto atención como programador hasta ahora. Ofrece soporte para Linux, Windows, Mac y BSD.

Para instalar los paquetes de desarrollo de la librería en Debian (posiblemente sea igual para Ubuntu):

# apt-get install libwxbase2.8-dev libwxgtk2.8-dev wx2.8-headers

Con estas librerías ya podemos comenzar a crear aplicaciones basadas en WxWidgets.

Puedes utilizar NetBeans, Eclipse, Emacs, Vi, Nano o tu editor favorito para escribir el código. Existe un entorno de desarrollo “oficial” para WxWidgets llamado Code::Blocks.

El programa mas básico en C++ para comenzar con WxWidgets (dibuja una ventana vacía en la pantalla):

#include "wx/wx.h"

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

class Ventana : public wxFrame
{
    public:
        Ventana(const wxString& titulo);
};

DECLARE_APP(Programa)
IMPLEMENT_APP(Programa)

bool Programa::OnInit()
{
    Ventana *v = new Ventana(wxT("Hola mundo"));
    v->Show(true);

    return true;
}

Ventana::Ventana(const wxString& titulo)
    : wxFrame(NULL, wxID_ANY, titulo)
{

}

Ya sé que se debe separar en varios archivos. Para mantener simplicidad lo dejaremos así por esta vez.

Para compilar:

$ g++ programa.cpp -o programa `wx-config --cppflags --libs`

Cuidado con las comillas inversas (`).

Conclusión

WxWidgets te puede ayudar a crear aplicaciones multiplataforma. La parte negativa es que hay que recompilar en cada familia de sistema operativo que quieras correr la aplicación. Sin embargo, debido a que es una librería nativa, tenemos un muy buen desempeño. La licencia y los enlaces que ofrece para que utilices tu lenguaje favorito la hacen una muy buena opción para proyectos de software.

Enlaces de interés:

http://www.wxwidgets.org/

http://www.codeblocks.org/

El Wiki de WxWidgets

Regresaré con ejemplos mas completos de la librería.

2 Respuestas a “WxWidgets”


  1. 1 Isaac Enero 4, 2009 a las 7:43 pm

    Hace un tiempo que quería experimentar un poco con ésta librería y dejar un rato a gtk+. Veré como se comporta codeblocks.

  2. 2 osvaldo Abril 27, 2009 a las 2:15 am

    Realmente code::blocks se comporta bien,hace varios meses que utilizo code::blocks y wxWidgets en debian como herramienta de desarrollo y no tengo quejas.


Escribe un comentario