desenvolvendo aplicações grá cas no linux sem esforçoescrever um script que compila tudo otda...
TRANSCRIPT
Desenvolvendo aplicações grá�cas no linux semesforço
(mas não só grá�cas)
Wagner Reck1
1UNIPAMPA-Alegrete
Semana Acadêmica Ulbra, 2010
Wagner Reck | Desenvolvendo aplicações grá�cas no linux sem esforço 1/44
Who am i?
Wagner de Melo Reck
Aluno graduando de CC - UNIPAMPA - Alegrete
Bolsista de IC - Iniciação Cientí�ca
GESEP - Eng. ElétricaÓtima chance de sentir como é 'trabalhar';Ir além da sala de aula;
Primeiro contato com Linux em 2001;
Uso direto desde 2007;
Contribuidor KDE desde janeiro
Aprovado para o GSoC (Google Summer of Code)
Wagner Reck | Desenvolvendo aplicações grá�cas no linux sem esforço 2/44
Porque eu uso Linux:
Sou pobre e não quero pagar para ter 'porcarias' !;
tenho um lado 'viva la revolucion!' :) ;
Gosto das coisas funcionando quando eu quero, não quandoelas querem;
se gostei de algo, olho o código fonte e vejo como fazer;
Grande sala de aprendizado!
Wagner Reck | Desenvolvendo aplicações grá�cas no linux sem esforço 3/44
O que o Linux já me trouxe
O Conhecimento, e isso ninguem me tira!
O KDE
Que me levou a:
Akademy-BR em salvadorGSoC: Google Summer of Code(quase) Akademy em Tampere/Finlândia
Estar aqui palestrando hoje
Wagner Reck | Desenvolvendo aplicações grá�cas no linux sem esforço 4/44
Como será a palestra?
Primeira parte mostrarei ferramentas linux para devel;
Na segunda parte, ferramentas/códigos para GUI;
Perguntas durante o tema (ou no �nal dele);
Prêmio para perguntas ^_^
Wagner Reck | Desenvolvendo aplicações grá�cas no linux sem esforço 5/44
Compilador de C++ (g++) Build systems Debugador Gerenciamento de versões IDEs Pilha do X11 Toolkits grá�cos
Como será a palestra?
Primeira parte mostrarei ferramentas linux para devel;
Na segunda parte, ferramentas/códigos para GUI;
Perguntas durante o tema (ou no �nal dele);
Prêmio para perguntas ^_^
Wagner Reck | Desenvolvendo aplicações grá�cas no linux sem esforço 5/44
Compilador de C++ (g++) Build systems Debugador Gerenciamento de versões IDEs Pilha do X11 Toolkits grá�cos
O que é o GCC?
Quem adivinha?
GNU C Compiler?GNU Compiler Collection?GCC Compiler Compiler?
Wagner Reck | Desenvolvendo aplicações grá�cas no linux sem esforço 6/44
Compilador de C++ (g++) Build systems Debugador Gerenciamento de versões IDEs Pilha do X11 Toolkits grá�cos
O que é o GCC?
Quem adivinha?
GNU Compiler Collection
Wagner Reck | Desenvolvendo aplicações grá�cas no linux sem esforço 7/44
Compilador de C++ (g++) Build systems Debugador Gerenciamento de versões IDEs Pilha do X11 Toolkits grá�cos
O que o GCC oferece?
Ferramentas básicas para sobrevivência
Compiladores (C, C++, Fortran, java ...)
Linker
Bibliotecas básicas
Wagner Reck | Desenvolvendo aplicações grá�cas no linux sem esforço 8/44
Compilador de C++ (g++) Build systems Debugador Gerenciamento de versões IDEs Pilha do X11 Toolkits grá�cos
Como utilizar?
# gcc -o nomeApplicativo source.c
Mostrando mais erros:
# gcc -o nomeApplicativo source.c -Wall
warning = allmostra erros não críticos, mas que podem conter bugs
Linkar com alguma biblioteca:
# gcc -o appComLib souce.c -lx11
Gerar código objeto
# gcc -c -o codObjeto source.c
Gera um arquivo codObjeto.o com a compilação, mas não alinkagem
Wagner Reck | Desenvolvendo aplicações grá�cas no linux sem esforço 9/44
Compilador de C++ (g++) Build systems Debugador Gerenciamento de versões IDEs Pilha do X11 Toolkits grá�cos
Como utilizar?
# gcc -o nomeApplicativo source.c
Mostrando mais erros:
# gcc -o nomeApplicativo source.c -Wall
warning = allmostra erros não críticos, mas que podem conter bugs
Linkar com alguma biblioteca:
# gcc -o appComLib souce.c -lx11
Gerar código objeto
# gcc -c -o codObjeto source.c
Gera um arquivo codObjeto.o com a compilação, mas não alinkagem
Wagner Reck | Desenvolvendo aplicações grá�cas no linux sem esforço 9/44
Compilador de C++ (g++) Build systems Debugador Gerenciamento de versões IDEs Pilha do X11 Toolkits grá�cos
Como utilizar?
# gcc -o nomeApplicativo source.c
Mostrando mais erros:
# gcc -o nomeApplicativo source.c -Wall
warning = allmostra erros não críticos, mas que podem conter bugs
Linkar com alguma biblioteca:
# gcc -o appComLib souce.c -lx11
Gerar código objeto
# gcc -c -o codObjeto source.c
Gera um arquivo codObjeto.o com a compilação, mas não alinkagem
Wagner Reck | Desenvolvendo aplicações grá�cas no linux sem esforço 9/44
Compilador de C++ (g++) Build systems Debugador Gerenciamento de versões IDEs Pilha do X11 Toolkits grá�cos
Como utilizar?
# gcc -o nomeApplicativo source.c
Mostrando mais erros:
# gcc -o nomeApplicativo source.c -Wall
warning = allmostra erros não críticos, mas que podem conter bugs
Linkar com alguma biblioteca:
# gcc -o appComLib souce.c -lx11
Gerar código objeto
# gcc -c -o codObjeto source.c
Gera um arquivo codObjeto.o com a compilação, mas não alinkagem
Wagner Reck | Desenvolvendo aplicações grá�cas no linux sem esforço 9/44
Compilador de C++ (g++) Build systems Debugador Gerenciamento de versões IDEs Pilha do X11 Toolkits grá�cos
Como compilar vários arquivos?
Um por um?
O Kernel, bem como outros projetos, tem milhares de arquivos
Escrever um script que compila tudo
Toda compilação vai ser de todo projetoMudar uma linha de código no KDE levaria algumas horas atécompilar tudo de novo.
Wagner Reck | Desenvolvendo aplicações grá�cas no linux sem esforço 10/44
Compilador de C++ (g++) Build systems Debugador Gerenciamento de versões IDEs Pilha do X11 Toolkits grá�cos
Como compilar vários arquivos?
Um por um?
O Kernel, bem como outros projetos, tem milhares de arquivos
Escrever um script que compila tudo
Toda compilação vai ser de todo projetoMudar uma linha de código no KDE levaria algumas horas atécompilar tudo de novo.
Wagner Reck | Desenvolvendo aplicações grá�cas no linux sem esforço 10/44
Compilador de C++ (g++) Build systems Debugador Gerenciamento de versões IDEs Pilha do X11 Toolkits grá�cos
Como compilar vários arquivos?
Um por um?
O Kernel, bem como outros projetos, tem milhares de arquivos
Escrever um script que compila tudo
Toda compilação vai ser de todo projetoMudar uma linha de código no KDE levaria algumas horas atécompilar tudo de novo.
Wagner Reck | Desenvolvendo aplicações grá�cas no linux sem esforço 10/44
Compilador de C++ (g++) Build systems Debugador Gerenciamento de versões IDEs Pilha do X11 Toolkits grá�cos
Make�les
Arquivo com comandos que são executados em sequência;
Make�le
all: myAppmyApp :
gcc source.c -o myApp -lLib
Um dos build system mais utilizados;
Como gerar os Make�les?
Wagner Reck | Desenvolvendo aplicações grá�cas no linux sem esforço 11/44
Compilador de C++ (g++) Build systems Debugador Gerenciamento de versões IDEs Pilha do X11 Toolkits grá�cos
Autotools(autohells)
Parte da GNU tool chains;
Completo e Complicado;
Desenvolvedor precisaapenas:
Wagner Reck | Desenvolvendo aplicações grá�cas no linux sem esforço 12/44
Compilador de C++ (g++) Build systems Debugador Gerenciamento de versões IDEs Pilha do X11 Toolkits grá�cos
QMake
Ferramenta que acompanha Qt;
Ferramenta simples e e�ciente
Gera projeto automaticamente (para projetos simples)
Pode ser usado para grandes projetos
recomendado para 'iniciantes' :)
Wagner Reck | Desenvolvendo aplicações grá�cas no linux sem esforço 13/44
Compilador de C++ (g++) Build systems Debugador Gerenciamento de versões IDEs Pilha do X11 Toolkits grá�cos
QProject
project.pro
QT += webkitTARGET = littleBrowserTEMPLATE = appSOURCES += main.cpp mainwindow.cppHEADERS += mainwindow.hFORMS += mainwindow.ui
Wagner Reck | Desenvolvendo aplicações grá�cas no linux sem esforço 14/44
Compilador de C++ (g++) Build systems Debugador Gerenciamento de versões IDEs Pilha do X11 Toolkits grá�cos
Cmake
Usado em grandes projetos (KDE por exemplo)
Completo e 'Simples'
out-source build
Acompanha ferramentas extras:
CPack: Gera pacotes de instalação;CTest: Executa casos de teste registrados;CDash: Envia resultado da compilação/testes para servidor
Wagner Reck | Desenvolvendo aplicações grá�cas no linux sem esforço 15/44
Compilador de C++ (g++) Build systems Debugador Gerenciamento de versões IDEs Pilha do X11 Toolkits grá�cos
Arquivo de projeto
CMakeLists.txt
project (tutorial1)�nd_package(KDE4 REQUIRED)include (KDE4Defaults)include_directories(${KDE4_INCLUDES})kde4_add_executable(tutorial1 main.cpp)target_link_libraries(tutorial1 ${KDE4_KDEUI_LIBS})install(TARGETS tutorial1
${INSTALL_TARGETS_DEFAULT_ARGS})
Wagner Reck | Desenvolvendo aplicações grá�cas no linux sem esforço 16/44
Compilador de C++ (g++) Build systems Debugador Gerenciamento de versões IDEs Pilha do X11 Toolkits grá�cos
SCons
Não gera Make�les
Roda scripts em Python
Facilita resolver os problemas de decisão
Cross plataform
Wagner Reck | Desenvolvendo aplicações grá�cas no linux sem esforço 17/44
Compilador de C++ (g++) Build systems Debugador Gerenciamento de versões IDEs Pilha do X11 Toolkits grá�cos
GDB
#include <cstring>#include <cstdio>int main(){
char *letras =(char*) "salvesalvesimpatia";if (strlen(letras) < -1){
printf("Pois eh...");}else {
printf(�Tudo ok.�)}return 0;
}
Wagner Reck | Desenvolvendo aplicações grá�cas no linux sem esforço 18/44
Compilador de C++ (g++) Build systems Debugador Gerenciamento de versões IDEs Pilha do X11 Toolkits grá�cos
The root of all evil
Função retorna size_t
size_t strlen(char*)
..que é..
typedef unsigned int size_t
..-1 convertido é:
(unsigned int) -1 == 65536
Wagner Reck | Desenvolvendo aplicações grá�cas no linux sem esforço 19/44
Compilador de C++ (g++) Build systems Debugador Gerenciamento de versões IDEs Pilha do X11 Toolkits grá�cos
The root of all evil
Função retorna size_t
size_t strlen(char*)
..que é..
typedef unsigned int size_t
..-1 convertido é:
(unsigned int) -1 == 65536
Wagner Reck | Desenvolvendo aplicações grá�cas no linux sem esforço 19/44
Compilador de C++ (g++) Build systems Debugador Gerenciamento de versões IDEs Pilha do X11 Toolkits grá�cos
The root of all evil
Função retorna size_t
size_t strlen(char*)
..que é..
typedef unsigned int size_t
..-1 convertido é:
(unsigned int) -1 == 65536
Wagner Reck | Desenvolvendo aplicações grá�cas no linux sem esforço 19/44
Compilador de C++ (g++) Build systems Debugador Gerenciamento de versões IDEs Pilha do X11 Toolkits grá�cos
Debugando
#gcc -o application source.c -g
#gdb application
Prompt
n - nextr - runb source.c:2 - insere Breakpoint na linha 2 de �le
Interface
DDDIDE
Pro�ller (devagar nas pedra!)
ValgrindKachgrind
Wagner Reck | Desenvolvendo aplicações grá�cas no linux sem esforço 20/44
Compilador de C++ (g++) Build systems Debugador Gerenciamento de versões IDEs Pilha do X11 Toolkits grá�cos
Debugando
#gcc -o application source.c -g
#gdb application
Prompt
n - nextr - runb source.c:2 - insere Breakpoint na linha 2 de �le
Interface
DDDIDE
Pro�ller (devagar nas pedra!)
ValgrindKachgrind
Wagner Reck | Desenvolvendo aplicações grá�cas no linux sem esforço 20/44
Compilador de C++ (g++) Build systems Debugador Gerenciamento de versões IDEs Pilha do X11 Toolkits grá�cos
Debugando
#gcc -o application source.c -g
#gdb application
Prompt
n - nextr - runb source.c:2 - insere Breakpoint na linha 2 de �le
Interface
DDDIDE
Pro�ller (devagar nas pedra!)
ValgrindKachgrind
Wagner Reck | Desenvolvendo aplicações grá�cas no linux sem esforço 20/44
Compilador de C++ (g++) Build systems Debugador Gerenciamento de versões IDEs Pilha do X11 Toolkits grá�cos
Debugando
#gcc -o application source.c -g
#gdb application
Prompt
n - nextr - runb source.c:2 - insere Breakpoint na linha 2 de �le
Interface
DDDIDE
Pro�ller (devagar nas pedra!)
ValgrindKachgrind
Wagner Reck | Desenvolvendo aplicações grá�cas no linux sem esforço 20/44
Compilador de C++ (g++) Build systems Debugador Gerenciamento de versões IDEs Pilha do X11 Toolkits grá�cos
Debugando
#gcc -o application source.c -g
#gdb application
Prompt
n - nextr - runb source.c:2 - insere Breakpoint na linha 2 de �le
Interface
DDDIDE
Pro�ller (devagar nas pedra!)
ValgrindKachgrind
Wagner Reck | Desenvolvendo aplicações grá�cas no linux sem esforço 20/44
Compilador de C++ (g++) Build systems Debugador Gerenciamento de versões IDEs Pilha do X11 Toolkits grá�cos
Controle de Versões
Facilitam dividir o desenvolvimento
Mantém histórico do desenvolvimento
Mais fácil de resolver BugsAcaba com Trabalho1.c, trabalho_Final.c, trabalho_Final1.c...
Wagner Reck | Desenvolvendo aplicações grá�cas no linux sem esforço 21/44
Compilador de C++ (g++) Build systems Debugador Gerenciamento de versões IDEs Pilha do X11 Toolkits grá�cos
Exemplos de SCV
SVN
Necessita de um servidor
GIT
Roda local no computadorUsuário decide quando enviar/receber dados
Interfaces para os gerenciadores de versões
IDEsgitk - git gui
Wagner Reck | Desenvolvendo aplicações grá�cas no linux sem esforço 22/44
Compilador de C++ (g++) Build systems Debugador Gerenciamento de versões IDEs Pilha do X11 Toolkits grá�cos
Exemplos de SCV
SVN
Necessita de um servidor
GIT
Roda local no computadorUsuário decide quando enviar/receber dados
Interfaces para os gerenciadores de versões
IDEsgitk - git gui
Wagner Reck | Desenvolvendo aplicações grá�cas no linux sem esforço 22/44
Compilador de C++ (g++) Build systems Debugador Gerenciamento de versões IDEs Pilha do X11 Toolkits grá�cos
Exemplos de SCV
SVN
Necessita de um servidor
GIT
Roda local no computadorUsuário decide quando enviar/receber dados
Interfaces para os gerenciadores de versões
IDEsgitk - git gui
Wagner Reck | Desenvolvendo aplicações grá�cas no linux sem esforço 22/44
Compilador de C++ (g++) Build systems Debugador Gerenciamento de versões IDEs Pilha do X11 Toolkits grá�cos
O que é uma IDE
Applicativo que agrega funcionalidades para o programador
Interface do DebugadorEditor de interfacesEditor de códigoExecução do 'make'Gerenciador de versõesAcesso a Documentação
Wagner Reck | Desenvolvendo aplicações grá�cas no linux sem esforço 23/44
Compilador de C++ (g++) Build systems Debugador Gerenciamento de versões IDEs Pilha do X11 Toolkits grá�cos
Exemplos de IDE
Eclipse
Ótima IDE, ótimos pluginsMuito pesada (~400 MB)
QtCreator
IDE mais recente, mas muito promissora
Kdevelop
IDE padrão do KDEVersão 4.0 muito boa
Wagner Reck | Desenvolvendo aplicações grá�cas no linux sem esforço 24/44
Compilador de C++ (g++) Build systems Debugador Gerenciamento de versões IDEs Pilha do X11 Toolkits grá�cos
Exemplos de IDE
Eclipse
Ótima IDE, ótimos pluginsMuito pesada (~400 MB)
QtCreator
IDE mais recente, mas muito promissora
Kdevelop
IDE padrão do KDEVersão 4.0 muito boa
Wagner Reck | Desenvolvendo aplicações grá�cas no linux sem esforço 24/44
Compilador de C++ (g++) Build systems Debugador Gerenciamento de versões IDEs Pilha do X11 Toolkits grá�cos
Exemplos de IDE
Eclipse
Ótima IDE, ótimos pluginsMuito pesada (~400 MB)
QtCreator
IDE mais recente, mas muito promissora
Kdevelop
IDE padrão do KDEVersão 4.0 muito boa
Wagner Reck | Desenvolvendo aplicações grá�cas no linux sem esforço 24/44
Compilador de C++ (g++) Build systems Debugador Gerenciamento de versões IDEs Pilha do X11 Toolkits grá�cos
X11
Padrão de interface grá�ca Unix
várias implementações
XFree86 até 2004Xorg (fork do XFree86) passou a predominar
Desenvolvido para UNIX, mas hoje roda em várias plataformas
Wagner Reck | Desenvolvendo aplicações grá�cas no linux sem esforço 25/44
Compilador de C++ (g++) Build systems Debugador Gerenciamento de versões IDEs Pilha do X11 Toolkits grá�cos
X11 Stack
Wagner Reck | Desenvolvendo aplicações grá�cas no linux sem esforço 26/44
Compilador de C++ (g++) Build systems Debugador Gerenciamento de versões IDEs Pilha do X11 Toolkits grá�cos
Screenshot X11
Wagner Reck | Desenvolvendo aplicações grá�cas no linux sem esforço 27/44
Compilador de C++ (g++) Build systems Debugador Gerenciamento de versões IDEs Pilha do X11 Toolkits grá�cos
O que são Toolkits grá�cos?
São bibliotecas que simpli�cam o desenvolvimento de GUI(Graphics User Interface)
Padronizam as GUI
Devem não parecer 'ETs' na plataforma alvo;
Cuidam do baixo nível, abstraindo detalhes de plataforma dodesenvolvedor.
Wagner Reck | Desenvolvendo aplicações grá�cas no linux sem esforço 28/44
Compilador de C++ (g++) Build systems Debugador Gerenciamento de versões IDEs Pilha do X11 Toolkits grá�cos
O que é um Widget?
São os blocos básicos das interfaces grá�cas;
Um botão é um widget;Uma janela é um Widget;Um dialogo é um widget
Wagner Reck | Desenvolvendo aplicações grá�cas no linux sem esforço 29/44
Compilador de C++ (g++) Build systems Debugador Gerenciamento de versões IDEs Pilha do X11 Toolkits grá�cos
Exemplos de Widgets
Wagner Reck | Desenvolvendo aplicações grá�cas no linux sem esforço 30/44
Compilador de C++ (g++) Build systems Debugador Gerenciamento de versões IDEs Pilha do X11 Toolkits grá�cos
Motif
Representa tanto a API (padrão IEEE) quanto conjunto dewidgets;
'Feio' mas muito usado em aplicações críticas;
Inicio do desenvolvimento nos anos 80;
Tenta imitar o comportamento do MS WIndows e OS/2;
Base do CDE (Common Desktop Environment)
Wagner Reck | Desenvolvendo aplicações grá�cas no linux sem esforço 31/44
Compilador de C++ (g++) Build systems Debugador Gerenciamento de versões IDEs Pilha do X11 Toolkits grá�cos
GTK+
GTK foi desenvolvido para ser base do GIMP;
Gimp ToolKit
Lançado em 1998;
Usa C (OO provida pelo GObject)
Possui binds para outras linguagens
Base do Gnome, XFCE;
Multi plataforma;
Suporte a temas
Bom toolkit grá�co.
Wagner Reck | Desenvolvendo aplicações grá�cas no linux sem esforço 32/44
Qt
Desenvolvido para ser multiplataforma;
Iniciado em 1991
Primeira versão em 1995
Base do KDE
Widgets altamente customizáveis (CSS)
Muito mais que um Toolkit grá�co...
Wagner Reck | Desenvolvendo aplicações grá�cas no linux sem esforço 33/44
Qt
Wagner Reck | Desenvolvendo aplicações grá�cas no linux sem esforço 34/44
O que é o Qt? I
Um Framework de desenvolvimento
Vai além de um toolkit grá�co
Banco de dadosXMLNetworkingCanvas para grá�cos 2D - 3D,Concorrência
Threads
Gerador de Documentos (PDF, ODF)Imagens
SVG
Script (códigos hibridos)Webkit (um navegador básico c/ poucas linha de código!)IPC (DBUS)
Wagner Reck | Desenvolvendo aplicações grá�cas no linux sem esforço 35/44
O que é o Qt? II
Phonom (audio e vídeo)AnimaçõesGestos*Mult touch*Várias Ferramentas
Gerador de Make�les
Auxílio na tradução
Sistema de ajuda
http://qt.nokia.com/services-partners/qt-in-education
Wagner Reck | Desenvolvendo aplicações grá�cas no linux sem esforço 36/44
Pequenas demonstrações
Exemplos (Qt-Demos)
Wagner Reck | Desenvolvendo aplicações grá�cas no linux sem esforço 37/44
KDE
Apresentação do Sandro.
Wagner Reck | Desenvolvendo aplicações grá�cas no linux sem esforço 38/44
Akademy-BR
Wagner Reck | Desenvolvendo aplicações grá�cas no linux sem esforço 39/44
Akademy-BR
Wagner Reck | Desenvolvendo aplicações grá�cas no linux sem esforço 40/44
KDE-Edu sprint - Suiça
Wagner Reck | Desenvolvendo aplicações grá�cas no linux sem esforço 41/44
Projeto de invasão das faculdades
De�nition
Objetivo: Ajudar na inserção de alunos no Software Livre atravésdo KDE.
De�nition
Metodologia: Auxilio básico para iniciantes com contato inicial como KDE SC e KDE, indicação de leituras, tradução conjunta deartigos, resolução de dúvidas gerais e conversas amigas.
De�nition
Desenvolvimento: Devido a distância (ainda não temos nenhumintegrante do KDE-RS nessa região), e-mail, IRC, lista de e-mail,futuras palestras. (NUNCA tenham medo de perguntar)
Wagner Reck | Desenvolvendo aplicações grá�cas no linux sem esforço 42/44
Projeto de invasão das faculdades
De�nition
Objetivo: Ajudar na inserção de alunos no Software Livre atravésdo KDE.
De�nition
Metodologia: Auxilio básico para iniciantes com contato inicial como KDE SC e KDE, indicação de leituras, tradução conjunta deartigos, resolução de dúvidas gerais e conversas amigas.
De�nition
Desenvolvimento: Devido a distância (ainda não temos nenhumintegrante do KDE-RS nessa região), e-mail, IRC, lista de e-mail,futuras palestras. (NUNCA tenham medo de perguntar)
Wagner Reck | Desenvolvendo aplicações grá�cas no linux sem esforço 42/44
Projeto de invasão das faculdades
De�nition
Objetivo: Ajudar na inserção de alunos no Software Livre atravésdo KDE.
De�nition
Metodologia: Auxilio básico para iniciantes com contato inicial como KDE SC e KDE, indicação de leituras, tradução conjunta deartigos, resolução de dúvidas gerais e conversas amigas.
De�nition
Desenvolvimento: Devido a distância (ainda não temos nenhumintegrante do KDE-RS nessa região), e-mail, IRC, lista de e-mail,futuras palestras. (NUNCA tenham medo de perguntar)
Wagner Reck | Desenvolvendo aplicações grá�cas no linux sem esforço 42/44
Contatos do Projeto
No RS:
http://kders.wordpress.comhttp://groups.google.com.br/group/[email protected]
no Brasil
http://br.kde.orghttps://mail.kde.org/mailman/listinfo/kde-br#kde-brasil (irc.freenode.net)liveblue.wordpress.com
Wagner Reck | Desenvolvendo aplicações grá�cas no linux sem esforço 43/44
Sites com documentação (Qt/KDE)
doc.qt.nokia.com
não só Qt/C++
techbase.kde.org
Muitos tutoriais legais e dicas de programação
Wagner Reck | Desenvolvendo aplicações grá�cas no linux sem esforço 44/44