quarta-feira, junho 27, 2007

Exemplo de GUI em C++

Quem está entrando no mundo do C++ muitas vezes se perde misturando o que é padrão com o que não é e ao utilizar APIs proprietárias descobre o quanto sua aplicação pode ficar restrita e uma plataforma ou o quanto o seu conhecimento pode ficar limitado.
Umas das grandes vantagens que considero na linguagem C++ é a liberdade que possuimos para a criação de aplicação para todos os fins computacionais. Unindo isso com a criatividade de desenvolvedores diversos que criam bibliotecas das mais variadas e distribuem de forma gratuita na internet podemos possuir um poder enorme em mãos, o poder de se fazer tudo que tiver em mente.
Interfaces gráficas em C++ até algum tempo atrás, quando se tratava de multiplataforma, muito se deixava a desejar mas hoje encontramos diversas bibliotecas gráficas multiplataforma que nos permite criar praticamente tudo que vem nossa criatividade permitir e tudo multiplataforma aliado ao ótimo desempenho de aplicações C++.
Alguns exemplos de bibliotecas multiplataformas para se criar GUI's são:
- GTK+ : http://www.gtk.org/
- Qt : http://trolltech.com/products/qt
- wxWidgets : http://www.wxwidgets.org/
Mas uma ainda pouco divulgada (pelo menos no Brasil) e a única que usei e que recomento é a Fox-Toolkit.
Fox-Toolkit é completamente baseada em C++ (diferente de GTK+ por exemplo). Esta biblioteca possui seu código aberto e está em constante desenvolvimento contando até com um fórum onde o próprio criador da biblioteca responde as dúvidas dos seus usuários, e tudo isso gratuito e multi-plataforma.
Para quem deseja começar a criar GUI's em C++ vai ai minha dica: http://www.fox-toolkit.org/
E além da dica deixo também um exemplo de aplicação que fiz utilizando a biblioteca Fox-Toolkit para a disciplina de Processamento de Imagens. O trabalho está um pouco incompleto e não obtive a nota desejada nele mas da para ver como exemplo o uso da biblioteca para se criar uma interface e mais, acompanha também um pacote de instalação para Dev-cpp, libs e dlls necessárias.

Baixe o exemplo aqui: Exemplo Fox-Toolkit

Espero que alguém aprecie.