Você está na página 1de 133

a ` Programac C++ com Qt 4 Introduc ao ao

a ` Programac C++ com Qt 4 Introduc ao ao


Antonio Marcio A. Menezes
antonio-marcio.menezes@serpro.gov.br

II Forum de Tecnologia em Software Livre SERPRO - Regional Porto Alegre

Outubro de 2009

Antonio Marcio A. Menezes

a ` Programac C++ com Qt 4 (1/112) Introduc ao ao

a ` Programac C++ com Qt 4 Introduc ao ao

Agenda
1

Parte Teorica Por que C++ e Qt? O que preciso para comec ar? de uma Agenda de Telefones Pratica - Construc ao Roteiro para a Pratica Criando o projeto com o Qt Creator Trabalhando com Widgets, Layouts, Actions Etc. Conectando Signals e Slots Acesso a Bancos de Dados Traduzindo a Aplicac ao Construindo o instalador da Aplicac ao
Antonio Marcio A. Menezes a ` Programac C++ com Qt 4 (2/112) Introduc ao ao

a ` Programac C++ com Qt 4 Introduc ao ao

Agenda
1

Parte Teorica Por que C++ e Qt? O que preciso para comec ar? de uma Agenda de Telefones Pratica - Construc ao Roteiro para a Pratica Criando o projeto com o Qt Creator Trabalhando com Widgets, Layouts, Actions Etc. Conectando Signals e Slots Acesso a Bancos de Dados Traduzindo a Aplicac ao Construindo o instalador da Aplicac ao
Antonio Marcio A. Menezes a ` Programac C++ com Qt 4 (2/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Por que C++ e Qt? O que preciso para comec ar?

Agenda
1

Parte Teorica Por que C++ e Qt? O que preciso para comec ar? de uma Agenda de Telefones Pratica - Construc ao Roteiro para a Pratica Criando o projeto com o Qt Creator Trabalhando com Widgets, Layouts, Actions Etc. Conectando Signals e Slots Acesso a Bancos de Dados Traduzindo a Aplicac ao Construindo o instalador da Aplicac ao
Antonio Marcio A. Menezes a ` Programac C++ com Qt 4 (3/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Por que C++ e Qt? O que preciso para comec ar?

isso? Qt, o que e


um framework para desenQt, muito mais que uma biblioteca, e volvimento multi-plataforma de aplicac oes. dispon Qt esta vel para as seguintes plataformas: Windows. Windows CE. Linux/X11. Linux Embarcado. S60 (Symbian - Em Breve). MacOS X.
Antonio Marcio A. Menezes a ` Programac C++ com Qt 4 (4/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Por que C++ e Qt? O que preciso para comec ar?

Historia do Qt
O framework Qt comec ou a estar dispon vel publicamente a partir de maio de 1995. Foi criado por Haarvard Nord e Eirik Chambe-Eng, fundadores da empresa Trolltech. Desde seu in cio, Qt foi concebido para ser multiplataforma. se tornou o Em marc o de 1996, a agencia espacial europeia segundo cliente do Qt. E em setembro deste ano, foi lanc ada a 1.0 do Qt. Ainda neste ano, foi iniciado o projeto KDE, versao desenvolvido com Qt, por Matthias Ettrich. Mais tarde, em 1998, Matthias foi contratado pela Trolltech.

Antonio Marcio A. Menezes

a ` Programac C++ com Qt 4 (5/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Por que C++ e Qt? O que preciso para comec ar?

Historia do Qt
O framework Qt comec ou a estar dispon vel publicamente a partir de maio de 1995. Foi criado por Haarvard Nord e Eirik Chambe-Eng, fundadores da empresa Trolltech. Desde seu in cio, Qt foi concebido para ser multiplataforma. se tornou o Em marc o de 1996, a agencia espacial europeia segundo cliente do Qt. E em setembro deste ano, foi lanc ada a 1.0 do Qt. Ainda neste ano, foi iniciado o projeto KDE, versao desenvolvido com Qt, por Matthias Ettrich. Mais tarde, em 1998, Matthias foi contratado pela Trolltech.

Antonio Marcio A. Menezes

a ` Programac C++ com Qt 4 (5/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Por que C++ e Qt? O que preciso para comec ar?

Historia do Qt
2.0 do Qt foi liberada. Uma versao do Qt Em 1999, a versao para linux embarcado, por sua vez, foi lanc ada em 2000. 3.0 do Qt, agora Em 2001, seguiu-se o lanc amento da versao dispon vel para Windows, MacOS X, Unix e Linux (desktop e embarcado). Qt 4.0 tornou-se dispon Em meados de 2005, a versao vel, con tando com 500 classes e mais de 9000 func oes.

Antonio Marcio A. Menezes

a ` Programac C++ com Qt 4 (6/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Por que C++ e Qt? O que preciso para comec ar?

Historia do Qt
2.0 do Qt foi liberada. Uma versao do Qt Em 1999, a versao para linux embarcado, por sua vez, foi lanc ada em 2000. 3.0 do Qt, agora Em 2001, seguiu-se o lanc amento da versao dispon vel para Windows, MacOS X, Unix e Linux (desktop e embarcado). Qt 4.0 tornou-se dispon Em meados de 2005, a versao vel, con tando com 500 classes e mais de 9000 func oes.

Antonio Marcio A. Menezes

a ` Programac C++ com Qt 4 (6/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Por que C++ e Qt? O que preciso para comec ar?

Historia do Qt
2.0 do Qt foi liberada. Uma versao do Qt Em 1999, a versao para linux embarcado, por sua vez, foi lanc ada em 2000. 3.0 do Qt, agora Em 2001, seguiu-se o lanc amento da versao dispon vel para Windows, MacOS X, Unix e Linux (desktop e embarcado). Qt 4.0 tornou-se dispon Em meados de 2005, a versao vel, con tando com 500 classes e mais de 9000 func oes.

Antonio Marcio A. Menezes

a ` Programac C++ com Qt 4 (6/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Por que C++ e Qt? O que preciso para comec ar?

Historia do Qt

Em 2008, a empresa Trolltech foi adquirida pela Nokia. Trolltech chamada de Qt Software. Pouco tempo depois, o Qt agora e passou a ser lanc ado sob as licenc as GPL, LGPL e comercial. de ser fornecido o framework Qt, a emRecentemente, alem presa Qt Software passou a fornecer uma IDE amigavel para desenvolvimento de aplicac oes: o Qt Creator.

Antonio Marcio A. Menezes

a ` Programac C++ com Qt 4 (7/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Por que C++ e Qt? O que preciso para comec ar?

Historia do Qt

Em 2008, a empresa Trolltech foi adquirida pela Nokia. Trolltech chamada de Qt Software. Pouco tempo depois, o Qt agora e passou a ser lanc ado sob as licenc as GPL, LGPL e comercial. de ser fornecido o framework Qt, a emRecentemente, alem presa Qt Software passou a fornecer uma IDE amigavel para desenvolvimento de aplicac oes: o Qt Creator.

Antonio Marcio A. Menezes

a ` Programac C++ com Qt 4 (7/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Por que C++ e Qt? O que preciso para comec ar?

Por que C++ e Qt?


O que eu ganho em programar com C++ e Qt? Desenvolvimento Multiplataforma. C++ mais amigavel Programac ao com Qt. Implemente uma vez. Compile em qualquer lugar. KDE sao feitas com Qt. Aplicac oes de interfaces gracas Criac ao elegantes e amigaveis. de uma API rica e util. Utilizac ao Licenc as Comercial, LGPL e GPL.

Antonio Marcio A. Menezes

a ` Programac C++ com Qt 4 (8/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Por que C++ e Qt? O que preciso para comec ar?

Quem usa Qt?


Desktop Em Aplicac oes Phoenix, um sistema para controle de agendamento e de voos, monitorac ao desenvolvido pela DFS (empresa de controle aereo da Alemanha). VLC, reprodutor de m dia. de imagens de satelite Google Earth, para visualizac ao e georreferenciadas. outras informac oes de voz e dados via internet. Skype, ferramenta de comunic ao PSI, programa para envio de mensagens instantaneas.
Antonio Marcio A. Menezes a ` Programac C++ com Qt 4 (9/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Por que C++ e Qt? O que preciso para comec ar?

Quem usa Qt?


Em Sistemas Embarcados Porta-retrato digital SPF-105V da Samsung. Varios modelos de celulares da Motorola. V deo-fone VP 5500 da Philips. Sony mylo, um comunicador pessoal. Telefone Wi-Fi KX-WP1050 para Skype da Panasonic. Smartphones 3G da ZTE. GPS Naviash 1020 da Bury. da digitalCube. Reprodutor de m dia portatil
Antonio Marcio A. Menezes a ` Programac C++ com Qt 4 (10/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Por que C++ e Qt? O que preciso para comec ar?

Agenda
1

Parte Teorica Por que C++ e Qt? O que preciso para comec ar? de uma Agenda de Telefones Pratica - Construc ao Roteiro para a Pratica Criando o projeto com o Qt Creator Trabalhando com Widgets, Layouts, Actions Etc. Conectando Signals e Slots Acesso a Bancos de Dados Traduzindo a Aplicac ao Construindo o instalador da Aplicac ao
Antonio Marcio A. Menezes a ` Programac C++ com Qt 4 (11/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Por que C++ e Qt? O que preciso para comec ar?

O que preciso para comec ar?


Conhecer C ou C++ Apesar de ser importante um conhecimento mais avanc ado de C++, para quem programa em Java ou outras linguagens poss orientadas a objetos e vel apenas estudar as diferenc as iniciar o aprendizado. sintaticas para ja de exemplos Estudar atraves do Qt ja vem com muitos exemplos de aplicac A instalac ao oes fornecidos com seus codigos. uteis. Estes exemplos sao Instalar o Qt SDK e consultar outras referencias (apresentadas ao nal deste curso).
Antonio Marcio A. Menezes a ` Programac C++ com Qt 4 (12/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Por que C++ e Qt? O que preciso para comec ar?

Instalac ao
pode fazer o Na pagina http://qt.nokia.com/downloads voce LGPL/Free. download da versao Clique em Download Qt SDK for Linux/X11 32-bit (275 Mb). ira obter o arquivo de instalac (certiqueCom isto, voce ao de execuc para o mesmo): se de conceder permissao ao qt-sdk-linux-x86-opensource-2009.03.1.bin. necessario vericar se estao instalados os seguintes E tambem pacotes: libfreetype6-dev e libgtk2.0-dev.
Antonio Marcio A. Menezes a ` Programac C++ com Qt 4 (13/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Por que C++ e Qt? O que preciso para comec ar?

- Tela 1 Instalac ao

Antonio Marcio A. Menezes

a ` Programac C++ com Qt 4 (14/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Por que C++ e Qt? O que preciso para comec ar?

- Tela 2 Instalac ao

Antonio Marcio A. Menezes

a ` Programac C++ com Qt 4 (15/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Por que C++ e Qt? O que preciso para comec ar?

- Tela 3 Instalac ao

Antonio Marcio A. Menezes

a ` Programac C++ com Qt 4 (16/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Por que C++ e Qt? O que preciso para comec ar?

- Tela 4 Instalac ao

Antonio Marcio A. Menezes

a ` Programac C++ com Qt 4 (17/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Por que C++ e Qt? O que preciso para comec ar?

- Tela 5 Instalac ao

Antonio Marcio A. Menezes

a ` Programac C++ com Qt 4 (18/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Por que C++ e Qt? O que preciso para comec ar?

- Tela 6 Instalac ao

Antonio Marcio A. Menezes

a ` Programac C++ com Qt 4 (19/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Por que C++ e Qt? O que preciso para comec ar?

- Tela 7 Instalac ao

Antonio Marcio A. Menezes

a ` Programac C++ com Qt 4 (20/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Por que C++ e Qt? O que preciso para comec ar?

- Tela 8 Instalac ao

Antonio Marcio A. Menezes

a ` Programac C++ com Qt 4 (21/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Por que C++ e Qt? O que preciso para comec ar?

- Resumo Instalac ao
do Qt SDK, serao encontraAo nal, no diretorio de instalac ao dos os seguintes subdiretorios: o diretorio bin e onde se encontra o executavel do IDE Qt Creator. do Qt lib armazena bibliotecas necessarias a execuc ao Creator. onde se encontra o framework Qt e suas ferramenqt e outro diretorio bin que contem os tas. Dentro deste, ha executaveis do framework. apenas um diretorio share e de recursos (doc, imagens etc) utilizados pelo Qt Creator.
Antonio Marcio A. Menezes a ` Programac C++ com Qt 4 (22/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Por que C++ e Qt? O que preciso para comec ar?

Fundamentos
Um programa em C++ consiste de um ou mais unidades de e um arquivo texto compilac ao. Cada unidade de compilac ao .cpp (ou .cc ou de codigo fonte, tipicamente, com uma extensao .cxx). gerar Para uma unidade de compilac ao, o compilador ira .obj (no Windows) ou .o (no um arquivo objeto com a extensao um arquivo binario Unix ou MACOS X). O arquivo objeto e com o codigo de maquina espec co da arquitetura da maquina onde foi gerado.

Antonio Marcio A. Menezes

a ` Programac C++ com Qt 4 (23/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Por que C++ e Qt? O que preciso para comec ar?

Fundamentos
Um programa em C++ consiste de um ou mais unidades de e um arquivo texto compilac ao. Cada unidade de compilac ao .cpp (ou .cc ou de codigo fonte, tipicamente, com uma extensao .cxx). gerar Para uma unidade de compilac ao, o compilador ira .obj (no Windows) ou .o (no um arquivo objeto com a extensao um arquivo binario Unix ou MACOS X). O arquivo objeto e com o codigo de maquina espec co da arquitetura da maquina onde foi gerado.

Antonio Marcio A. Menezes

a ` Programac C++ com Qt 4 (23/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Por que C++ e Qt? O que preciso para comec ar?

Fundamentos
Um programa em C++ passa por 6 passos (com um programa editor de texto, por exemplo). Edic ao de diretivas sao realizadas inPre-processamento (atraves e substituic de textos). clusoes oes (gerac do codigo Compilac ao ao objeto). (linking com o codigo Ligac ao das rotinas referenciadas em bibliotecas). Carga (carga do programa e bibliotecas na memoria). (sob controle da CPU, uma instruc por vez). Execuc ao ao
Antonio Marcio A. Menezes a ` Programac C++ com Qt 4 (24/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Por que C++ e Qt? O que preciso para comec ar?

Fundamentos
Um programa em C++ passa por 6 passos (com um programa editor de texto, por exemplo). Edic ao de diretivas sao realizadas inPre-processamento (atraves e substituic de textos). clusoes oes (gerac do codigo Compilac ao ao objeto). (linking com o codigo Ligac ao das rotinas referenciadas em bibliotecas). Carga (carga do programa e bibliotecas na memoria). (sob controle da CPU, uma instruc por vez). Execuc ao ao
Antonio Marcio A. Menezes a ` Programac C++ com Qt 4 (24/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Por que C++ e Qt? O que preciso para comec ar?

Fundamentos
Um programa em C++ passa por 6 passos (com um programa editor de texto, por exemplo). Edic ao de diretivas sao realizadas inPre-processamento (atraves e substituic de textos). clusoes oes (gerac do codigo Compilac ao ao objeto). (linking com o codigo Ligac ao das rotinas referenciadas em bibliotecas). Carga (carga do programa e bibliotecas na memoria). (sob controle da CPU, uma instruc por vez). Execuc ao ao
Antonio Marcio A. Menezes a ` Programac C++ com Qt 4 (24/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Por que C++ e Qt? O que preciso para comec ar?

Fundamentos
Um programa em C++ passa por 6 passos (com um programa editor de texto, por exemplo). Edic ao de diretivas sao realizadas inPre-processamento (atraves e substituic de textos). clusoes oes (gerac do codigo Compilac ao ao objeto). (linking com o codigo Ligac ao das rotinas referenciadas em bibliotecas). Carga (carga do programa e bibliotecas na memoria). (sob controle da CPU, uma instruc por vez). Execuc ao ao
Antonio Marcio A. Menezes a ` Programac C++ com Qt 4 (24/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Por que C++ e Qt? O que preciso para comec ar?

Fundamentos
Um programa em C++ passa por 6 passos (com um programa editor de texto, por exemplo). Edic ao de diretivas sao realizadas inPre-processamento (atraves e substituic de textos). clusoes oes (gerac do codigo Compilac ao ao objeto). (linking com o codigo Ligac ao das rotinas referenciadas em bibliotecas). Carga (carga do programa e bibliotecas na memoria). (sob controle da CPU, uma instruc por vez). Execuc ao ao
Antonio Marcio A. Menezes a ` Programac C++ com Qt 4 (24/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Por que C++ e Qt? O que preciso para comec ar?

Fundamentos
Um programa em C++ passa por 6 passos (com um programa editor de texto, por exemplo). Edic ao de diretivas sao realizadas inPre-processamento (atraves e substituic de textos). clusoes oes (gerac do codigo Compilac ao ao objeto). (linking com o codigo Ligac ao das rotinas referenciadas em bibliotecas). Carga (carga do programa e bibliotecas na memoria). (sob controle da CPU, uma instruc por vez). Execuc ao ao
Antonio Marcio A. Menezes a ` Programac C++ com Qt 4 (24/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Por que C++ e Qt? O que preciso para comec ar?

Modulos do Qt
Os modulos que compoem, atualmente, o framework Qt sao: QtCore, QtGui, QtNetwork, QtOpenGL, QtScript, QtSql, QSvg, QtWebKit, QtXml, QtXmlPatterns, Phonon, Qt3Support, QtTest, QtDBus.

Antonio Marcio A. Menezes

a ` Programac C++ com Qt 4 (25/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Por que C++ e Qt? O que preciso para comec ar?

Ferramentas do Qt
vem acompanhado de um conjunto de ferramenO Qt tambem tas que auxiliam o processo de desenvolvimento. Qt Designer para o projeto de telas. Permite testar o projeto de tela sem programar qualquer linha de codigo. Qt Linguist para editar arquivos de traduc oes, tornando uma com suporte a diferentes l aplicac ao nguas. um guia de consulta rapida Qt Assistant e e sens vel a contexto para a API do Qt. o IDE para a criac de projetos de aplicac Qt Creator e ao oes.

Antonio Marcio A. Menezes

a ` Programac C++ com Qt 4 (26/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Por que C++ e Qt? O que preciso para comec ar?

Ferramentas do Qt
vem acompanhado de um conjunto de ferramenO Qt tambem tas que auxiliam o processo de desenvolvimento. Qt Designer para o projeto de telas. Permite testar o projeto de tela sem programar qualquer linha de codigo. Qt Linguist para editar arquivos de traduc oes, tornando uma com suporte a diferentes l aplicac ao nguas. um guia de consulta rapida Qt Assistant e e sens vel a contexto para a API do Qt. o IDE para a criac de projetos de aplicac Qt Creator e ao oes.

Antonio Marcio A. Menezes

a ` Programac C++ com Qt 4 (26/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Por que C++ e Qt? O que preciso para comec ar?

Ferramentas do Qt
vem acompanhado de um conjunto de ferramenO Qt tambem tas que auxiliam o processo de desenvolvimento. Qt Designer para o projeto de telas. Permite testar o projeto de tela sem programar qualquer linha de codigo. Qt Linguist para editar arquivos de traduc oes, tornando uma com suporte a diferentes l aplicac ao nguas. um guia de consulta rapida Qt Assistant e e sens vel a contexto para a API do Qt. o IDE para a criac de projetos de aplicac Qt Creator e ao oes.

Antonio Marcio A. Menezes

a ` Programac C++ com Qt 4 (26/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Por que C++ e Qt? O que preciso para comec ar?

Ferramentas do Qt
vem acompanhado de um conjunto de ferramenO Qt tambem tas que auxiliam o processo de desenvolvimento. Qt Designer para o projeto de telas. Permite testar o projeto de tela sem programar qualquer linha de codigo. Qt Linguist para editar arquivos de traduc oes, tornando uma com suporte a diferentes l aplicac ao nguas. um guia de consulta rapida Qt Assistant e e sens vel a contexto para a API do Qt. o IDE para a criac de projetos de aplicac Qt Creator e ao oes.

Antonio Marcio A. Menezes

a ` Programac C++ com Qt 4 (26/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Por que C++ e Qt? O que preciso para comec ar?

com Qt Minha primeira aplicac ao


hello.cpp #include <QApplication> #include <QLabel> int main(int argc, char *argv[]) { QApplication app(argc, argv); Qt!)); QLabel *label = new QLabel(QString::fromUtf8(Ola label->show(); return app.exec(); }
Antonio Marcio A. Menezes a ` Programac C++ com Qt 4 (27/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Por que C++ e Qt? O que preciso para comec ar?

com Qt Minha primeira aplicac ao


criar um diretorio inclu Apos hello, sera do deste diretorio o hello.cpp arquivo .cpp da minha primeira aplicac ao: criado o arquivo de projeto Ao digitar qmake -project, sera hello.pro gerar o arquivo Makele, que orientara a qmake hello.pro ira do projeto. compilac ao compilado e gerado o executavel Ao digitar make, sera da aplicac ao.
Antonio Marcio A. Menezes a ` Programac C++ com Qt 4 (28/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Por que C++ e Qt? O que preciso para comec ar?

com Qt Minha primeira aplicac ao

Figura: No Linux

Figura: No Windows

Antonio Marcio A. Menezes

a ` Programac C++ com Qt 4 (29/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Roteiro para a Pratica Criando o projeto com o Qt Creator Trabalhando com Widgets, Layouts, Actions Etc. Conectando Signals e Slots Acesso a Bancos de Dados Traduzindo a Aplicac ao Construindo o instalador da Aplicac ao

Agenda
1

Parte Teorica Por que C++ e Qt? O que preciso para comec ar? de uma Agenda de Telefones Pratica - Construc ao Roteiro para a Pratica Criando o projeto com o Qt Creator Trabalhando com Widgets, Layouts, Actions Etc. Conectando Signals e Slots Acesso a Bancos de Dados Traduzindo a Aplicac ao Construindo o instalador da Aplicac ao
Antonio Marcio A. Menezes a ` Programac C++ com Qt 4 (30/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Roteiro para a Pratica Criando o projeto com o Qt Creator Trabalhando com Widgets, Layouts, Actions Etc. Conectando Signals e Slots Acesso a Bancos de Dados Traduzindo a Aplicac ao Construindo o instalador da Aplicac ao

Roteiro para a Pratica


exercitadas algumas tarefas comuns Neste treinamento, serao no desenvolvimento de um sistema informatizado. Para agilizar o propostas versoes incrementais da aplicac treinamento, serao ao exemplo. ser enxergadas como Estas versoes incrementais poderao pontos de controle. Quando um aluno concluir a principal ativi adotar uma versao dade de um ponto de controle, ele podera e seguir para as proximas mais completa da aplicac ao tarefas.

Antonio Marcio A. Menezes

a ` Programac C++ com Qt 4 (31/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Roteiro para a Pratica Criando o projeto com o Qt Creator Trabalhando com Widgets, Layouts, Actions Etc. Conectando Signals e Slots Acesso a Bancos de Dados Traduzindo a Aplicac ao Construindo o instalador da Aplicac ao

Roteiro para a Pratica


incrementais da aplicac Versoes ao o projeto inicial, sem proagenda-telefonica1.zip contem da jeto de tela e apenas um arquivo principal de execuc ao aplicac ao. o layout inicial da tela princiagenda-telefonica2.zip contem pal da aplicac ao. a barra de ferramentas da agenda-telefonica3.zip contem com as ac basicas tela principal da aplicac ao oes e cones. agenda-telefonica4.zip contem o recurso de ativar a na area aplicac ao de noticac ao.
Antonio Marcio A. Menezes a ` Programac C++ com Qt 4 (32/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Roteiro para a Pratica Criando o projeto com o Qt Creator Trabalhando com Widgets, Layouts, Actions Etc. Conectando Signals e Slots Acesso a Bancos de Dados Traduzindo a Aplicac ao Construindo o instalador da Aplicac ao

Roteiro para a Pratica


incrementais da aplicac Versoes ao agenda-telefonica5.zip inclui codigo para evitar que mais de uma agenda seja carregada na memoria ao mesmo tempo. criadas as primeiras conexoes entre signals e slots. Sao agenda-telefonica6.zip contem o primeiro codigo para dos dados na acesso ao banco de dados e apresentac ao janela principal. agenda-telefonica7.zip inclui o projeto das telas de cadastro de departamentos e de telefones, e o armazenamento em banco de dados.
Antonio Marcio A. Menezes a ` Programac C++ com Qt 4 (33/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Roteiro para a Pratica Criando o projeto com o Qt Creator Trabalhando com Widgets, Layouts, Actions Etc. Conectando Signals e Slots Acesso a Bancos de Dados Traduzindo a Aplicac ao Construindo o instalador da Aplicac ao

Roteiro para a Pratica

incrementais da aplicac Versoes ao a aplicac com suas telas agenda-telefonica8.zip contem ao e tambem o arquivo de traduc da traduzidas para o ingles ao para o portugues. aplicac ao os arquivos necessarios agenda-telefonica9.zip contem da agenda para o instalador da aplicac ao. agenda-telefonica10.zip inclui o projeto do instalador com a ferramenta GPL installJammer.

Antonio Marcio A. Menezes

a ` Programac C++ com Qt 4 (34/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Roteiro para a Pratica Criando o projeto com o Qt Creator Trabalhando com Widgets, Layouts, Actions Etc. Conectando Signals e Slots Acesso a Bancos de Dados Traduzindo a Aplicac ao Construindo o instalador da Aplicac ao

Requisitos da Aplicac ao
Requisitos I ser associada a Cada pessoa cadastrada na agenda devera um departamento na qual trabalha. identicado por um codigo, Todo departamento sera uma sigla e um nome. Siglas e nomes dos departamentos serao alfanumericos. O cadastro de cada pessoa e seu telefone de contato podera ser acrescido com a informac de um numero tambem ao de ramal.

Antonio Marcio A. Menezes

a ` Programac C++ com Qt 4 (35/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Roteiro para a Pratica Criando o projeto com o Qt Creator Trabalhando com Widgets, Layouts, Actions Etc. Conectando Signals e Slots Acesso a Bancos de Dados Traduzindo a Aplicac ao Construindo o instalador da Aplicac ao

Requisitos da Aplicac ao
Requisitos II armazenados localmente, na Os dados dos cadastros serao maquina onde se executa a agenda. fornecer uma busca simA janela principal da agenda devera plicada dos telefones pelos criterios: nome (ou parte do nome) da pessoa e o nome do departamento. a lista de todos os Inicialmente, a janela principal mostrara telefones, ordenados por nome da pessoa. ser exibido na janela principal tambem um contador Devera do numero de itens exibidos nesta lista.
Antonio Marcio A. Menezes a ` Programac C++ com Qt 4 (36/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Roteiro para a Pratica Criando o projeto com o Qt Creator Trabalhando com Widgets, Layouts, Actions Etc. Conectando Signals e Slots Acesso a Bancos de Dados Traduzindo a Aplicac ao Construindo o instalador da Aplicac ao

Requisitos da Aplicac ao

Requisitos III existir uma janela de busca avanc Devera ada onde poderao ser identicadas as pessoas e seus telefones por parte do telefone/ramal ou parte do nome do departamento. car Quando a janela da agenda for fechada, ela devera (System ainda ativa, com um cone na area de noticac ao o usuario clicar sobre este TrayBar). Nesta situac ao, podera cone e solicitar que a janela seja novamente exibida.

Antonio Marcio A. Menezes

a ` Programac C++ com Qt 4 (37/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Roteiro para a Pratica Criando o projeto com o Qt Creator Trabalhando com Widgets, Layouts, Actions Etc. Conectando Signals e Slots Acesso a Bancos de Dados Traduzindo a Aplicac ao Construindo o instalador da Aplicac ao

Requisitos da Aplicac ao
Requisitos IV feito em uma janela, O cadastro dos departamentos sera feito o cadastro das separadamente. Em outra janela, sera pessoas e seus telefones. podera ser cadastrado mais de um numero Nao de telefone por pessoa. a agenda de telefones e ramais deA empresa que utilizara seja executar este programa em maquinas com Linux ou Windows.

Antonio Marcio A. Menezes

a ` Programac C++ com Qt 4 (38/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Roteiro para a Pratica Criando o projeto com o Qt Creator Trabalhando com Widgets, Layouts, Actions Etc. Conectando Signals e Slots Acesso a Bancos de Dados Traduzindo a Aplicac ao Construindo o instalador da Aplicac ao

Esboc o da Janela Principal da Aplicac ao

Antonio Marcio A. Menezes

a ` Programac C++ com Qt 4 (39/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Roteiro para a Pratica Criando o projeto com o Qt Creator Trabalhando com Widgets, Layouts, Actions Etc. Conectando Signals e Slots Acesso a Bancos de Dados Traduzindo a Aplicac ao Construindo o instalador da Aplicac ao

Diagrama ER da Aplicac ao

utilizado o banco Sqlite. Para ns de simplicidade, sera

Antonio Marcio A. Menezes

a ` Programac C++ com Qt 4 (40/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Roteiro para a Pratica Criando o projeto com o Qt Creator Trabalhando com Widgets, Layouts, Actions Etc. Conectando Signals e Slots Acesso a Bancos de Dados Traduzindo a Aplicac ao Construindo o instalador da Aplicac ao

do banco de dados Script de criac ao

create table DEPARTAMENTOS ( CODIGO INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, NOME VARCHAR(256) NOT NULL UNIQUE, SIGLA VARCHAR(30) NULL );

Antonio Marcio A. Menezes

a ` Programac C++ com Qt 4 (41/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Roteiro para a Pratica Criando o projeto com o Qt Creator Trabalhando com Widgets, Layouts, Actions Etc. Conectando Signals e Slots Acesso a Bancos de Dados Traduzindo a Aplicac ao Construindo o instalador da Aplicac ao

do banco de dados Script de criac ao


create table PESSOAS ( NOME VARCHAR(80) NOT NULL PRIMARY KEY, DEP CODIGO INTEGER NOT NULL REFERENCES DEPARTAMENTOS(CODIGO) ON DELETE RESTRICT ON UPDATE RESTRICT ON INSERT RESTRICT, DDD INTEGER, TELEFONE INTEGER NOT NULL, RAMAL INTEGER );
Antonio Marcio A. Menezes a ` Programac C++ com Qt 4 (42/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Roteiro para a Pratica Criando o projeto com o Qt Creator Trabalhando com Widgets, Layouts, Actions Etc. Conectando Signals e Slots Acesso a Bancos de Dados Traduzindo a Aplicac ao Construindo o instalador da Aplicac ao

Agenda
1

Parte Teorica Por que C++ e Qt? O que preciso para comec ar? de uma Agenda de Telefones Pratica - Construc ao Roteiro para a Pratica Criando o projeto com o Qt Creator Trabalhando com Widgets, Layouts, Actions Etc. Conectando Signals e Slots Acesso a Bancos de Dados Traduzindo a Aplicac ao Construindo o instalador da Aplicac ao
Antonio Marcio A. Menezes a ` Programac C++ com Qt 4 (43/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Roteiro para a Pratica Criando o projeto com o Qt Creator Trabalhando com Widgets, Layouts, Actions Etc. Conectando Signals e Slots Acesso a Bancos de Dados Traduzindo a Aplicac ao Construindo o instalador da Aplicac ao

do Projeto Exerc cio de Criac ao

Exerc cio 01 Objetivo: Aprender como criar um projeto de GUI (janela do tipo QMainWindow) aplicac ao com o Qt Creator. Tempo Estimado: 5 a 8 min. Resultado Esperado: Criar todos os arquivos, agendacomo os que foram criados na versao telefonica1.zip.

Antonio Marcio A. Menezes

a ` Programac C++ com Qt 4 (44/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Roteiro para a Pratica Criando o projeto com o Qt Creator Trabalhando com Widgets, Layouts, Actions Etc. Conectando Signals e Slots Acesso a Bancos de Dados Traduzindo a Aplicac ao Construindo o instalador da Aplicac ao

Denindo o tipo de projeto

Antonio Marcio A. Menezes

a ` Programac C++ com Qt 4 (45/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Roteiro para a Pratica Criando o projeto com o Qt Creator Trabalhando com Widgets, Layouts, Actions Etc. Conectando Signals e Slots Acesso a Bancos de Dados Traduzindo a Aplicac ao Construindo o instalador da Aplicac ao

Denindo o nome do projeto

Antonio Marcio A. Menezes

a ` Programac C++ com Qt 4 (46/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Roteiro para a Pratica Criando o projeto com o Qt Creator Trabalhando com Widgets, Layouts, Actions Etc. Conectando Signals e Slots Acesso a Bancos de Dados Traduzindo a Aplicac ao Construindo o instalador da Aplicac ao

parte do projeto Modulos do Qt que farao

Antonio Marcio A. Menezes

a ` Programac C++ com Qt 4 (47/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Roteiro para a Pratica Criando o projeto com o Qt Creator Trabalhando com Widgets, Layouts, Actions Etc. Conectando Signals e Slots Acesso a Bancos de Dados Traduzindo a Aplicac ao Construindo o instalador da Aplicac ao

Denindo uma nova classe do tipo QMainWindow

Antonio Marcio A. Menezes

a ` Programac C++ com Qt 4 (48/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Roteiro para a Pratica Criando o projeto com o Qt Creator Trabalhando com Widgets, Layouts, Actions Etc. Conectando Signals e Slots Acesso a Bancos de Dados Traduzindo a Aplicac ao Construindo o instalador da Aplicac ao

do projeto Resumo da criac ao

Antonio Marcio A. Menezes

a ` Programac C++ com Qt 4 (49/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Roteiro para a Pratica Criando o projeto com o Qt Creator Trabalhando com Widgets, Layouts, Actions Etc. Conectando Signals e Slots Acesso a Bancos de Dados Traduzindo a Aplicac ao Construindo o instalador da Aplicac ao

Tela do Qt Creator com o novo projeto

Antonio Marcio A. Menezes

a ` Programac C++ com Qt 4 (50/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Roteiro para a Pratica Criando o projeto com o Qt Creator Trabalhando com Widgets, Layouts, Actions Etc. Conectando Signals e Slots Acesso a Bancos de Dados Traduzindo a Aplicac ao Construindo o instalador da Aplicac ao

Agenda
1

Parte Teorica Por que C++ e Qt? O que preciso para comec ar? de uma Agenda de Telefones Pratica - Construc ao Roteiro para a Pratica Criando o projeto com o Qt Creator Trabalhando com Widgets, Layouts, Actions Etc. Conectando Signals e Slots Acesso a Bancos de Dados Traduzindo a Aplicac ao Construindo o instalador da Aplicac ao
Antonio Marcio A. Menezes a ` Programac C++ com Qt 4 (51/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Roteiro para a Pratica Criando o projeto com o Qt Creator Trabalhando com Widgets, Layouts, Actions Etc. Conectando Signals e Slots Acesso a Bancos de Dados Traduzindo a Aplicac ao Construindo o instalador da Aplicac ao

Widgets
componentes que possuem uma Widgets (Window Gadgets) sao graca representac ao no projeto de telas. Com o Qt Designer, o desenvolvedor pode criar interfaces gracas de usuario apenas arrastando e soltando varios widgets sobre a janela que esta sendo projetada. poss testar o funcionamento visual da janela sob E vel tambem temas gracos diferentes (Plastique, GTK+, Motif, CleanLooks etc).

Antonio Marcio A. Menezes

a ` Programac C++ com Qt 4 (52/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Roteiro para a Pratica Criando o projeto com o Qt Creator Trabalhando com Widgets, Layouts, Actions Etc. Conectando Signals e Slots Acesso a Bancos de Dados Traduzindo a Aplicac ao Construindo o instalador da Aplicac ao

Exerc cio com Widgets

Exerc cio 02 Objetivo: Aprender a criar projetos de telas com componentes visuais. Tempo Estimado: 2 a 5 min. Resultado Esperado: Adicionar todos os widgets necessarios para o projeto da janela principal da Agenda.

Antonio Marcio A. Menezes

a ` Programac C++ com Qt 4 (53/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Roteiro para a Pratica Criando o projeto com o Qt Creator Trabalhando com Widgets, Layouts, Actions Etc. Conectando Signals e Slots Acesso a Bancos de Dados Traduzindo a Aplicac ao Construindo o instalador da Aplicac ao

Exerc cio com Widgets - Esboc o da Tela

Antonio Marcio A. Menezes

a ` Programac C++ com Qt 4 (54/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Roteiro para a Pratica Criando o projeto com o Qt Creator Trabalhando com Widgets, Layouts, Actions Etc. Conectando Signals e Slots Acesso a Bancos de Dados Traduzindo a Aplicac ao Construindo o instalador da Aplicac ao

Exerc cio com Widgets - Atribuindo textos

Antonio Marcio A. Menezes

a ` Programac C++ com Qt 4 (55/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Roteiro para a Pratica Criando o projeto com o Qt Creator Trabalhando com Widgets, Layouts, Actions Etc. Conectando Signals e Slots Acesso a Bancos de Dados Traduzindo a Aplicac ao Construindo o instalador da Aplicac ao

Exerc cio com Widgets - Atribuindo textos ao Menu

Antonio Marcio A. Menezes

a ` Programac C++ com Qt 4 (56/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Roteiro para a Pratica Criando o projeto com o Qt Creator Trabalhando com Widgets, Layouts, Actions Etc. Conectando Signals e Slots Acesso a Bancos de Dados Traduzindo a Aplicac ao Construindo o instalador da Aplicac ao

Atribuindo textos ao Menu (QMenu)

Ao adicionar itens ao menu principal, automaticamente criadas Actions que poderao ser ligadas a metodos serao e poss da janela principal. Tambem vel denir cones para necessario criar um arquivo de as Actions, mas para isso e recursos.

Antonio Marcio A. Menezes

a ` Programac C++ com Qt 4 (57/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Roteiro para a Pratica Criando o projeto com o Qt Creator Trabalhando com Widgets, Layouts, Actions Etc. Conectando Signals e Slots Acesso a Bancos de Dados Traduzindo a Aplicac ao Construindo o instalador da Aplicac ao

Criando um arquivo de recursos

Antonio Marcio A. Menezes

a ` Programac C++ com Qt 4 (58/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Roteiro para a Pratica Criando o projeto com o Qt Creator Trabalhando com Widgets, Layouts, Actions Etc. Conectando Signals e Slots Acesso a Bancos de Dados Traduzindo a Aplicac ao Construindo o instalador da Aplicac ao

Criando um arquivo de recursos

Antonio Marcio A. Menezes

a ` Programac C++ com Qt 4 (59/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Roteiro para a Pratica Criando o projeto com o Qt Creator Trabalhando com Widgets, Layouts, Actions Etc. Conectando Signals e Slots Acesso a Bancos de Dados Traduzindo a Aplicac ao Construindo o instalador da Aplicac ao

Criando um arquivo de recursos

Antonio Marcio A. Menezes

a ` Programac C++ com Qt 4 (60/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Roteiro para a Pratica Criando o projeto com o Qt Creator Trabalhando com Widgets, Layouts, Actions Etc. Conectando Signals e Slots Acesso a Bancos de Dados Traduzindo a Aplicac ao Construindo o instalador da Aplicac ao

Criando um arquivo de recursos

Antonio Marcio A. Menezes

a ` Programac C++ com Qt 4 (61/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Roteiro para a Pratica Criando o projeto com o Qt Creator Trabalhando com Widgets, Layouts, Actions Etc. Conectando Signals e Slots Acesso a Bancos de Dados Traduzindo a Aplicac ao Construindo o instalador da Aplicac ao

Atribuindo um cone a uma Action

Antonio Marcio A. Menezes

a ` Programac C++ com Qt 4 (62/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Roteiro para a Pratica Criando o projeto com o Qt Creator Trabalhando com Widgets, Layouts, Actions Etc. Conectando Signals e Slots Acesso a Bancos de Dados Traduzindo a Aplicac ao Construindo o instalador da Aplicac ao

Atribuindo um cone a uma Action

Antonio Marcio A. Menezes

a ` Programac C++ com Qt 4 (63/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Roteiro para a Pratica Criando o projeto com o Qt Creator Trabalhando com Widgets, Layouts, Actions Etc. Conectando Signals e Slots Acesso a Bancos de Dados Traduzindo a Aplicac ao Construindo o instalador da Aplicac ao

Atribuindo um cone a uma Action

Antonio Marcio A. Menezes

a ` Programac C++ com Qt 4 (64/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Roteiro para a Pratica Criando o projeto com o Qt Creator Trabalhando com Widgets, Layouts, Actions Etc. Conectando Signals e Slots Acesso a Bancos de Dados Traduzindo a Aplicac ao Construindo o instalador da Aplicac ao

Actions e Barra de Ferramentas

poss A partir do painel de actions, e vel arrastar e soltar actions sobre a barra de ferramentas da janela principal. Com isto, serao automaticamente criados botoes na barra de ferramentas que as actions ao serem clicados. Os acionarao cones das actions aparecerao nos botoes da barra de ferramentas. tambem

Antonio Marcio A. Menezes

a ` Programac C++ com Qt 4 (65/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Roteiro para a Pratica Criando o projeto com o Qt Creator Trabalhando com Widgets, Layouts, Actions Etc. Conectando Signals e Slots Acesso a Bancos de Dados Traduzindo a Aplicac ao Construindo o instalador da Aplicac ao

Exerc cio com Layouts

Exerc cio 03 Objetivo: Aprender a denir os layouts de telas com o Qt Creator / Qt Designer. Tempo Estimado: 8 a 12 min. Resultado Esperado: Layout basico de widgets na janela principal.

Antonio Marcio A. Menezes

a ` Programac C++ com Qt 4 (66/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Roteiro para a Pratica Criando o projeto com o Qt Creator Trabalhando com Widgets, Layouts, Actions Etc. Conectando Signals e Slots Acesso a Bancos de Dados Traduzindo a Aplicac ao Construindo o instalador da Aplicac ao

Denindo o primeiro layout

Antonio Marcio A. Menezes

a ` Programac C++ com Qt 4 (67/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Roteiro para a Pratica Criando o projeto com o Qt Creator Trabalhando com Widgets, Layouts, Actions Etc. Conectando Signals e Slots Acesso a Bancos de Dados Traduzindo a Aplicac ao Construindo o instalador da Aplicac ao

Denindo o primeiro layout

Antonio Marcio A. Menezes

a ` Programac C++ com Qt 4 (68/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Roteiro para a Pratica Criando o projeto com o Qt Creator Trabalhando com Widgets, Layouts, Actions Etc. Conectando Signals e Slots Acesso a Bancos de Dados Traduzindo a Aplicac ao Construindo o instalador da Aplicac ao

Denindo o primeiro layout

Antonio Marcio A. Menezes

a ` Programac C++ com Qt 4 (69/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Roteiro para a Pratica Criando o projeto com o Qt Creator Trabalhando com Widgets, Layouts, Actions Etc. Conectando Signals e Slots Acesso a Bancos de Dados Traduzindo a Aplicac ao Construindo o instalador da Aplicac ao

Denindo o primeiro layout

Antonio Marcio A. Menezes

a ` Programac C++ com Qt 4 (70/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Roteiro para a Pratica Criando o projeto com o Qt Creator Trabalhando com Widgets, Layouts, Actions Etc. Conectando Signals e Slots Acesso a Bancos de Dados Traduzindo a Aplicac ao Construindo o instalador da Aplicac ao

a um layout ja existente Adicionando um botao

Antonio Marcio A. Menezes

a ` Programac C++ com Qt 4 (71/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Roteiro para a Pratica Criando o projeto com o Qt Creator Trabalhando com Widgets, Layouts, Actions Etc. Conectando Signals e Slots Acesso a Bancos de Dados Traduzindo a Aplicac ao Construindo o instalador da Aplicac ao

Agenda
1

Parte Teorica Por que C++ e Qt? O que preciso para comec ar? de uma Agenda de Telefones Pratica - Construc ao Roteiro para a Pratica Criando o projeto com o Qt Creator Trabalhando com Widgets, Layouts, Actions Etc. Conectando Signals e Slots Acesso a Bancos de Dados Traduzindo a Aplicac ao Construindo o instalador da Aplicac ao
Antonio Marcio A. Menezes a ` Programac C++ com Qt 4 (72/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Roteiro para a Pratica Criando o projeto com o Qt Creator Trabalhando com Widgets, Layouts, Actions Etc. Conectando Signals e Slots Acesso a Bancos de Dados Traduzindo a Aplicac ao Construindo o instalador da Aplicac ao

signals e slots? O que sao


emitido quando um evento ocorre. ExisNo Qt, um signal (sinal) e e poss tem signals pre-denidos, mas tambem vel de denir seus proprios signals. Um signal pode ser ligado a um metodo. Desta executado. forma, quando o signal for emitido, este metodo sera entre signal e metodo, o slot. Nesta ligac ao o metodo e

Antonio Marcio A. Menezes

a ` Programac C++ com Qt 4 (73/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Roteiro para a Pratica Criando o projeto com o Qt Creator Trabalhando com Widgets, Layouts, Actions Etc. Conectando Signals e Slots Acesso a Bancos de Dados Traduzindo a Aplicac ao Construindo o instalador da Aplicac ao

Conectando um signal a um slot da janela principal

Antonio Marcio A. Menezes

a ` Programac C++ com Qt 4 (74/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Roteiro para a Pratica Criando o projeto com o Qt Creator Trabalhando com Widgets, Layouts, Actions Etc. Conectando Signals e Slots Acesso a Bancos de Dados Traduzindo a Aplicac ao Construindo o instalador da Aplicac ao

Denindo signal e slot apropriados

Antonio Marcio A. Menezes

a ` Programac C++ com Qt 4 (75/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Roteiro para a Pratica Criando o projeto com o Qt Creator Trabalhando com Widgets, Layouts, Actions Etc. Conectando Signals e Slots Acesso a Bancos de Dados Traduzindo a Aplicac ao Construindo o instalador da Aplicac ao

Exerc cio com Signals

Exerc cio 04 Objetivo: Aprender a conectar signals e slots dos widgets com Qt Designer. Tempo Estimado: 2 a 5 min. Resultado Esperado: O click sobre um QPushButton execu o metodo tara clean de um QLineEdit. Testar este comportamento com o Form Preview no Qt Designer.

Antonio Marcio A. Menezes

a ` Programac C++ com Qt 4 (76/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Roteiro para a Pratica Criando o projeto com o Qt Creator Trabalhando com Widgets, Layouts, Actions Etc. Conectando Signals e Slots Acesso a Bancos de Dados Traduzindo a Aplicac ao Construindo o instalador da Aplicac ao

Signals e Slots no Qt Designer

Num painel (ou janela) do Qt Designer, se pode consultar as ja denidas entre sinais e slots. conexoes

Antonio Marcio A. Menezes

a ` Programac C++ com Qt 4 (77/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Roteiro para a Pratica Criando o projeto com o Qt Creator Trabalhando com Widgets, Layouts, Actions Etc. Conectando Signals e Slots Acesso a Bancos de Dados Traduzindo a Aplicac ao Construindo o instalador da Aplicac ao

Conectando signal e slot, programaticamente

Exemplo conectando Signal e Slot void conectarSignals() { connect( ui->pushButton 2, SIGNAL(clicked()), lineEdit, SLOT(clear()) ); }

Antonio Marcio A. Menezes

a ` Programac C++ com Qt 4 (78/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Roteiro para a Pratica Criando o projeto com o Qt Creator Trabalhando com Widgets, Layouts, Actions Etc. Conectando Signals e Slots Acesso a Bancos de Dados Traduzindo a Aplicac ao Construindo o instalador da Aplicac ao

Mais sobre signals


podem ser conectado a outro signal. Um signal tambem entre signals e slots tambem O mecanismo de conexao pode resolver o problema de referencia c clica. Por exemplo, a janela principal pode criar uma outra janela e esperar que interac oes nesta segunda janela determinem mudanc as na janela principal. aparecer na aplicac Este comportamento ira ao exemplo aqui tratada. Quando forem criados, modicados ou exclu dos departamentos, a ComboBox de Departamento da janela ser atualizada. principal devera
Antonio Marcio A. Menezes a ` Programac C++ com Qt 4 (79/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Roteiro para a Pratica Criando o projeto com o Qt Creator Trabalhando com Widgets, Layouts, Actions Etc. Conectando Signals e Slots Acesso a Bancos de Dados Traduzindo a Aplicac ao Construindo o instalador da Aplicac ao

Mais sobre signals


Trecho do metodo mostrarCadastroDepartamentos() void Principal::mostrarCadastroDepartamentos() { Departamentos *dep = new Departamentos(); connect( dep, SIGNAL(departamentosAtualizados()), this, SLOT(atualizarComboDepartamentos()) ); }

Antonio Marcio A. Menezes

a ` Programac C++ com Qt 4 (80/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Roteiro para a Pratica Criando o projeto com o Qt Creator Trabalhando com Widgets, Layouts, Actions Etc. Conectando Signals e Slots Acesso a Bancos de Dados Traduzindo a Aplicac ao Construindo o instalador da Aplicac ao

Agenda
1

Parte Teorica Por que C++ e Qt? O que preciso para comec ar? de uma Agenda de Telefones Pratica - Construc ao Roteiro para a Pratica Criando o projeto com o Qt Creator Trabalhando com Widgets, Layouts, Actions Etc. Conectando Signals e Slots Acesso a Bancos de Dados Traduzindo a Aplicac ao Construindo o instalador da Aplicac ao
Antonio Marcio A. Menezes a ` Programac C++ com Qt 4 (81/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Roteiro para a Pratica Criando o projeto com o Qt Creator Trabalhando com Widgets, Layouts, Actions Etc. Conectando Signals e Slots Acesso a Bancos de Dados Traduzindo a Aplicac ao Construindo o instalador da Aplicac ao

Modulo QtSql
o que fornece as classes e rotinas necessarias O modulo QtSql e de para estabelecer conexoes a bancos de dados e execuc ao operac oes, em diferentes SGBDs: IBM DB2, Interbase/Firebird, MySQL, Oracle, PostgreSQL, SQLite, Sybase. poss de E vel acessar outros bancos com o driver ODBC, alem existirem plugins para acesso a outras bases de dados tambem (xBase, por exemplo).

Antonio Marcio A. Menezes

a ` Programac C++ com Qt 4 (82/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Roteiro para a Pratica Criando o projeto com o Qt Creator Trabalhando com Widgets, Layouts, Actions Etc. Conectando Signals e Slots Acesso a Bancos de Dados Traduzindo a Aplicac ao Construindo o instalador da Aplicac ao

a um banco de dados Criando uma conexao


bool criarConexao() { QSqlDatabase bd = QSqlDatabase::addDatabase(QPSQL); bd.setHostName(sgbd.empresa.com.br); bd.setDatabaseName(BdFuncionarios); bd.setUserName(usuario); bd.setPassword(senha); if (! bd.open() ) { QMessageBox::critical(0, tr(DB Error), bd.lastError().text()); return false; } return true; }
Antonio Marcio A. Menezes a ` Programac C++ com Qt 4 (83/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Roteiro para a Pratica Criando o projeto com o Qt Creator Trabalhando com Widgets, Layouts, Actions Etc. Conectando Signals e Slots Acesso a Bancos de Dados Traduzindo a Aplicac ao Construindo o instalador da Aplicac ao

Realizando uma consulta no banco

QStringList listaTelefones; QSqlQuery consulta; consulta.exec(SELECT TELEFONE FROM PESSOAS); while (consulta.next()) { QString telefone = consulta.value(0).toString(); listaTelefones.append(telefone); }

Antonio Marcio A. Menezes

a ` Programac C++ com Qt 4 (84/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Roteiro para a Pratica Criando o projeto com o Qt Creator Trabalhando com Widgets, Layouts, Actions Etc. Conectando Signals e Slots Acesso a Bancos de Dados Traduzindo a Aplicac ao Construindo o instalador da Aplicac ao

Exerc cio com Banco de Dados


Exerc cio 05 e uma consulta Objetivo: Aprender a executar uma conexao num banco de dados. Tempo Estimado: 10 a 20 min. Resultado Esperado: Implementar o preenchimento da QComboBox de Departamentos na janela Principal. Os da obtidos atraves de consulta que dos desta ComboBox serao recupera os nomes dos departamentos existentes no banco de dados.

Antonio Marcio A. Menezes

a ` Programac C++ com Qt 4 (85/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Roteiro para a Pratica Criando o projeto com o Qt Creator Trabalhando com Widgets, Layouts, Actions Etc. Conectando Signals e Slots Acesso a Bancos de Dados Traduzindo a Aplicac ao Construindo o instalador da Aplicac ao

Exerc cio com Banco de Dados


QStringList Principal::getDepartamentos() { QStringList lista; lista.append(Todos); QSqlQuery query( select distinct NOME from DEPARTAMENTOS order by NOME, bancoDeDados); while (query.next()) { lista.append(query.value(0).toString()); } return lista; }
Antonio Marcio A. Menezes a ` Programac C++ com Qt 4 (86/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Roteiro para a Pratica Criando o projeto com o Qt Creator Trabalhando com Widgets, Layouts, Actions Etc. Conectando Signals e Slots Acesso a Bancos de Dados Traduzindo a Aplicac ao Construindo o instalador da Aplicac ao

Exerc cio com Banco de Dados

void Principal::atualizarComboDepartamentos() { ui->comboDepartamento->clear(); ui->comboDepartamento->addItems(getDepartamentos()); } O metodo addItems de QComboBox recebe como parametro um QStringList.

Antonio Marcio A. Menezes

a ` Programac C++ com Qt 4 (87/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Roteiro para a Pratica Criando o projeto com o Qt Creator Trabalhando com Widgets, Layouts, Actions Etc. Conectando Signals e Slots Acesso a Bancos de Dados Traduzindo a Aplicac ao Construindo o instalador da Aplicac ao

Atualizando dados em um banco

QSqlQuery oper; oper.prepare( insert into DEPART(NOME, SIGLA) values (:NM, :SG) ); oper.bindValue(:NM, Desenvolvimento e TI); oper.bindValue(:SG, DTI); oper.exec(); QSqlQuery oper2( update DEPART set SIGLA=TI where SIGLA=DTI );

Antonio Marcio A. Menezes

a ` Programac C++ com Qt 4 (88/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Roteiro para a Pratica Criando o projeto com o Qt Creator Trabalhando com Widgets, Layouts, Actions Etc. Conectando Signals e Slots Acesso a Bancos de Dados Traduzindo a Aplicac ao Construindo o instalador da Aplicac ao

Classes de Modelo Sql


mais distante da sintaxe SQL, Para quem prefere uma interac ao o Qt fornece algumas classes espec cas. Classes de Modelo Sql QSqlQueryModel: Um modelo de dados read-only baseado em uma consulta SQL. QSqlTableModel: Um modelo read-write que trabalha somente sobre uma unica tabela. QSqlRelationalTableModel: Uma especializac ao de QSqlTableModel mas com suporte a chaves estrangeiras com outras tabelas). (relac oes
Antonio Marcio A. Menezes a ` Programac C++ com Qt 4 (89/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Roteiro para a Pratica Criando o projeto com o Qt Creator Trabalhando com Widgets, Layouts, Actions Etc. Conectando Signals e Slots Acesso a Bancos de Dados Traduzindo a Aplicac ao Construindo o instalador da Aplicac ao

Agenda
1

Parte Teorica Por que C++ e Qt? O que preciso para comec ar? de uma Agenda de Telefones Pratica - Construc ao Roteiro para a Pratica Criando o projeto com o Qt Creator Trabalhando com Widgets, Layouts, Actions Etc. Conectando Signals e Slots Acesso a Bancos de Dados Traduzindo a Aplicac ao Construindo o instalador da Aplicac ao
Antonio Marcio A. Menezes a ` Programac C++ com Qt 4 (90/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Roteiro para a Pratica Criando o projeto com o Qt Creator Trabalhando com Widgets, Layouts, Actions Etc. Conectando Signals e Slots Acesso a Bancos de Dados Traduzindo a Aplicac ao Construindo o instalador da Aplicac ao

Qt Linguist

de tornar uma aplicac Qt com suporte a A forma mais facil ao outras l nguas e: Usar o metodo tr() em todas as QStrings desta aplicac ao. denido em QObject. Este metodo e da aplicac um arCarregar no momento de inicializac ao ao (.qm), previamente gerado com o Qt Linquivo de traduc ao guist.

Antonio Marcio A. Menezes

a ` Programac C++ com Qt 4 (91/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Roteiro para a Pratica Criando o projeto com o Qt Creator Trabalhando com Widgets, Layouts, Actions Etc. Conectando Signals e Slots Acesso a Bancos de Dados Traduzindo a Aplicac ao Construindo o instalador da Aplicac ao

Produzindo um arquivo de traduc ao

deve-se usar a ferramenta Para preparar um arquivo de traduc ao lupdate, presente no diretorio bin do Qt. Esta ferramenta e capaz de extrair todos os literais de strings presentes em janelas encapsuladas por tr() nos criadas com o Qt Designer e tambem demais arquivos fontes da aplicac ao. Sintaxe: lupdate arquivo do projeto.pro

Antonio Marcio A. Menezes

a ` Programac C++ com Qt 4 (92/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Roteiro para a Pratica Criando o projeto com o Qt Creator Trabalhando com Widgets, Layouts, Actions Etc. Conectando Signals e Slots Acesso a Bancos de Dados Traduzindo a Aplicac ao Construindo o instalador da Aplicac ao

Produzindo um arquivo de traduc ao


do arquivo fonte de traduc (.ts), basta apenas Com a criac ao ao abr -lo com o Qt Linguist. Na primeira janela de dialogo, se de das l nem as congurac oes nguas de origem e destino dos textos capturados.

Antonio Marcio A. Menezes

a ` Programac C++ com Qt 4 (93/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Roteiro para a Pratica Criando o projeto com o Qt Creator Trabalhando com Widgets, Layouts, Actions Etc. Conectando Signals e Slots Acesso a Bancos de Dados Traduzindo a Aplicac ao Construindo o instalador da Aplicac ao

Produzindo um arquivo de traduc ao


capaz de exibir visualmente a janela ou o codigo O Qt Linguist e fazendo a traduc de uma string. Para fonte no qual se esta ao em uma sec como esta: cada string, realiza-se a traduc ao ao

Antonio Marcio A. Menezes

a ` Programac C++ com Qt 4 (94/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Roteiro para a Pratica Criando o projeto com o Qt Creator Trabalhando com Widgets, Layouts, Actions Etc. Conectando Signals e Slots Acesso a Bancos de Dados Traduzindo a Aplicac ao Construindo o instalador da Aplicac ao

Produzindo um arquivo de traduc ao


concluir todas as traduc das strings, utiliza-se a opc Apos oes ao gerado de menu File->Release do Qt Linguist. Com isto, sera (.qm) do projeto de traduc um arquivo de compilac ao ao. Para podecarregar este arquivo no momento de in cio da aplicac ao, se utilizar o seguinte codigo no main.cpp: QApplication a(argc, argv); QTranslator tradutor; tradutor.load(agenda-telefonica.qm, QCoreApplication::applicationDirPath()); a.installTranslator(tradutor);
a ` Programac C++ com Qt 4 (95/112) Introduc ao ao

Antonio Marcio A. Menezes

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Roteiro para a Pratica Criando o projeto com o Qt Creator Trabalhando com Widgets, Layouts, Actions Etc. Conectando Signals e Slots Acesso a Bancos de Dados Traduzindo a Aplicac ao Construindo o instalador da Aplicac ao

Agenda
1

Parte Teorica Por que C++ e Qt? O que preciso para comec ar? de uma Agenda de Telefones Pratica - Construc ao Roteiro para a Pratica Criando o projeto com o Qt Creator Trabalhando com Widgets, Layouts, Actions Etc. Conectando Signals e Slots Acesso a Bancos de Dados Traduzindo a Aplicac ao Construindo o instalador da Aplicac ao
Antonio Marcio A. Menezes a ` Programac C++ com Qt 4 (96/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Roteiro para a Pratica Criando o projeto com o Qt Creator Trabalhando com Widgets, Layouts, Actions Etc. Conectando Signals e Slots Acesso a Bancos de Dados Traduzindo a Aplicac ao Construindo o instalador da Aplicac ao

Qt Implantando uma aplicac ao


Qt (com compilac dinamica) Uma aplicac ao ao usualmente ne da seguinte estrutura: cessitara Arquivo executavel da aplicac ao. Arquivos .qm: arquivos de traduc ao. Arquivos de bibliotecas do Qt: no linux, por exemplo, ar se quivos libQtCore.so, libQtSql.so, libQtGui.so (caso nao linux). deseje utilizar as bibliotecas fornecidas na distribuic ao Diretorio sqldrivers: com os plugins do Qt de drivers para a bancos de dados. conexao congurar variaveis Arquivo .sh: shell script que podera de ambiente temporarias e executar o arquivo executavel.
Antonio Marcio A. Menezes a ` Programac C++ com Qt 4 (97/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Roteiro para a Pratica Criando o projeto com o Qt Creator Trabalhando com Widgets, Layouts, Actions Etc. Conectando Signals e Slots Acesso a Bancos de Dados Traduzindo a Aplicac ao Construindo o instalador da Aplicac ao

Qt Implantando uma aplicac ao


exemplo, Agenda de Telefones: No caso da aplicac ao Arquivo executavel: agenda-telefonica Arquivos .qm: agenda-telefonica.qm Arquivos de bibliotecas do Qt: libQtCore.so.4, libQtSql.so.4, libQtGui.so.4, libQtNetwork.so.4 Diretorio sqldrivers: com o plugin libqsqlite.so Arquivo .sh: agenda-telefonica.sh Icones: agenda-telefonica.png e uninstall.png

Antonio Marcio A. Menezes

a ` Programac C++ com Qt 4 (98/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Roteiro para a Pratica Criando o projeto com o Qt Creator Trabalhando com Widgets, Layouts, Actions Etc. Conectando Signals e Slots Acesso a Bancos de Dados Traduzindo a Aplicac ao Construindo o instalador da Aplicac ao

Qt Implantando uma aplicac ao


Existem varias formas poss veis de construir um pacote de de uma aplicac Qt. Algumas delas sao: implantac ao ao de pacotes espec Pacotes .rpm, .deb, .tgz: a criac ao cos de linux e uma das formas mais comuns e tende a distribuic oes de formalidade no mundo linux. transmitir um que sao muito utilizados, mas Pacotes de codigo fonte: tambem exigem um maior conhecimento dos usuarios no momento de compilar e decidir onde implantar o software. mais simples Instaladores executaveis: tende a ser a opc ao esta acostumado para usuarios e agrada bastante a quem ja com instaladores no Windows.
Antonio Marcio A. Menezes a ` Programac C++ com Qt 4 (99/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Roteiro para a Pratica Criando o projeto com o Qt Creator Trabalhando com Widgets, Layouts, Actions Etc. Conectando Signals e Slots Acesso a Bancos de Dados Traduzindo a Aplicac ao Construindo o instalador da Aplicac ao

Qt Implantando uma aplicac ao

tratada a implantac a partir de instaladores exeAqui sera ao cutaveis, mais precisamente criados com o installJammer. Como um dos aspectos importantes em desenvolver com a capacidade de desenvolver sistemas multiplataforQt e interessante utilizar uma ferramenta de instalac mas, e ao uma caracter multiplataforma. Esta e stica do installJammer.

Antonio Marcio A. Menezes

a ` Programac C++ com Qt 4 (100/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Roteiro para a Pratica Criando o projeto com o Qt Creator Trabalhando com Widgets, Layouts, Actions Etc. Conectando Signals e Slots Acesso a Bancos de Dados Traduzindo a Aplicac ao Construindo o instalador da Aplicac ao

Criando o instalador

Antonio Marcio A. Menezes

a ` Programac C++ com Qt 4 (101/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Roteiro para a Pratica Criando o projeto com o Qt Creator Trabalhando com Widgets, Layouts, Actions Etc. Conectando Signals e Slots Acesso a Bancos de Dados Traduzindo a Aplicac ao Construindo o instalador da Aplicac ao

Criando o instalador

Antonio Marcio A. Menezes

a ` Programac C++ com Qt 4 (102/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Roteiro para a Pratica Criando o projeto com o Qt Creator Trabalhando com Widgets, Layouts, Actions Etc. Conectando Signals e Slots Acesso a Bancos de Dados Traduzindo a Aplicac ao Construindo o instalador da Aplicac ao

Criando o instalador

Antonio Marcio A. Menezes

a ` Programac C++ com Qt 4 (103/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Roteiro para a Pratica Criando o projeto com o Qt Creator Trabalhando com Widgets, Layouts, Actions Etc. Conectando Signals e Slots Acesso a Bancos de Dados Traduzindo a Aplicac ao Construindo o instalador da Aplicac ao

Criando o instalador

Antonio Marcio A. Menezes

a ` Programac C++ com Qt 4 (104/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Roteiro para a Pratica Criando o projeto com o Qt Creator Trabalhando com Widgets, Layouts, Actions Etc. Conectando Signals e Slots Acesso a Bancos de Dados Traduzindo a Aplicac ao Construindo o instalador da Aplicac ao

Criando o instalador

Antonio Marcio A. Menezes

a ` Programac C++ com Qt 4 (105/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Roteiro para a Pratica Criando o projeto com o Qt Creator Trabalhando com Widgets, Layouts, Actions Etc. Conectando Signals e Slots Acesso a Bancos de Dados Traduzindo a Aplicac ao Construindo o instalador da Aplicac ao

Criando o instalador

Antonio Marcio A. Menezes

a ` Programac C++ com Qt 4 (106/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Roteiro para a Pratica Criando o projeto com o Qt Creator Trabalhando com Widgets, Layouts, Actions Etc. Conectando Signals e Slots Acesso a Bancos de Dados Traduzindo a Aplicac ao Construindo o instalador da Aplicac ao

Criando o instalador

Antonio Marcio A. Menezes

a ` Programac C++ com Qt 4 (107/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Roteiro para a Pratica Criando o projeto com o Qt Creator Trabalhando com Widgets, Layouts, Actions Etc. Conectando Signals e Slots Acesso a Bancos de Dados Traduzindo a Aplicac ao Construindo o instalador da Aplicac ao

Criando o instalador

Antonio Marcio A. Menezes

a ` Programac C++ com Qt 4 (108/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Roteiro para a Pratica Criando o projeto com o Qt Creator Trabalhando com Widgets, Layouts, Actions Etc. Conectando Signals e Slots Acesso a Bancos de Dados Traduzindo a Aplicac ao Construindo o instalador da Aplicac ao

Criando o instalador
passar pelas telas do assistente de criac de projeto do Apos ao exibida a tela com a arvore InstallJammer, sera de congurac oes congure: do projeto. Para congurar os cones da aplicac ao, Em Action Groups InstallActions : ProgramShortcut IconPath : <%InstallDir%>agenda-telefonica.png Uninstall Shortcut IconPath : <%InstallDir%>uninstall.png

Antonio Marcio A. Menezes

a ` Programac C++ com Qt 4 (109/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Roteiro para a Pratica Criando o projeto com o Qt Creator Trabalhando com Widgets, Layouts, Actions Etc. Conectando Signals e Slots Acesso a Bancos de Dados Traduzindo a Aplicac ao Construindo o instalador da Aplicac ao

Criando o instalador
Em Action Groups FinishActions : InstallDesktopShortcut IconPath : <%InstallDir%>agenda-telefonica.png Install Quick Launch Shortcut IconPath : <%InstallDir%>agenda-telefonica.png Build Install. Para criar o instalador, basta executar a opc ao

Antonio Marcio A. Menezes

a ` Programac C++ com Qt 4 (110/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Resumo Referencias

Resumo do que foi visto

ao Qt. Introduc ao C++ com Qt. Como iniciar um projeto de aplicac ao Como realizar o projeto de telas com Qt Designer. de signals e slots. Como criar mecanismos de controle atraves Qt. Como trabalhar com banco de dados em uma aplicac ao Qt para outra l Como traduzir uma aplicac ao ngua. Como produzir o instalador da aplicac ao.

Antonio Marcio A. Menezes

a ` Programac C++ com Qt 4 (111/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Resumo Referencias

Resumo do que foi visto

ao Qt. Introduc ao C++ com Qt. Como iniciar um projeto de aplicac ao Como realizar o projeto de telas com Qt Designer. de signals e slots. Como criar mecanismos de controle atraves Qt. Como trabalhar com banco de dados em uma aplicac ao Qt para outra l Como traduzir uma aplicac ao ngua. Como produzir o instalador da aplicac ao.

Antonio Marcio A. Menezes

a ` Programac C++ com Qt 4 (111/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Resumo Referencias

Resumo do que foi visto

ao Qt. Introduc ao C++ com Qt. Como iniciar um projeto de aplicac ao Como realizar o projeto de telas com Qt Designer. de signals e slots. Como criar mecanismos de controle atraves Qt. Como trabalhar com banco de dados em uma aplicac ao Qt para outra l Como traduzir uma aplicac ao ngua. Como produzir o instalador da aplicac ao.

Antonio Marcio A. Menezes

a ` Programac C++ com Qt 4 (111/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Resumo Referencias

Resumo do que foi visto

ao Qt. Introduc ao C++ com Qt. Como iniciar um projeto de aplicac ao Como realizar o projeto de telas com Qt Designer. de signals e slots. Como criar mecanismos de controle atraves Qt. Como trabalhar com banco de dados em uma aplicac ao Qt para outra l Como traduzir uma aplicac ao ngua. Como produzir o instalador da aplicac ao.

Antonio Marcio A. Menezes

a ` Programac C++ com Qt 4 (111/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Resumo Referencias

Resumo do que foi visto

ao Qt. Introduc ao C++ com Qt. Como iniciar um projeto de aplicac ao Como realizar o projeto de telas com Qt Designer. de signals e slots. Como criar mecanismos de controle atraves Qt. Como trabalhar com banco de dados em uma aplicac ao Qt para outra l Como traduzir uma aplicac ao ngua. Como produzir o instalador da aplicac ao.

Antonio Marcio A. Menezes

a ` Programac C++ com Qt 4 (111/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Resumo Referencias

Resumo do que foi visto

ao Qt. Introduc ao C++ com Qt. Como iniciar um projeto de aplicac ao Como realizar o projeto de telas com Qt Designer. de signals e slots. Como criar mecanismos de controle atraves Qt. Como trabalhar com banco de dados em uma aplicac ao Qt para outra l Como traduzir uma aplicac ao ngua. Como produzir o instalador da aplicac ao.

Antonio Marcio A. Menezes

a ` Programac C++ com Qt 4 (111/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Resumo Referencias

Resumo do que foi visto

ao Qt. Introduc ao C++ com Qt. Como iniciar um projeto de aplicac ao Como realizar o projeto de telas com Qt Designer. de signals e slots. Como criar mecanismos de controle atraves Qt. Como trabalhar com banco de dados em uma aplicac ao Qt para outra l Como traduzir uma aplicac ao ngua. Como produzir o instalador da aplicac ao.

Antonio Marcio A. Menezes

a ` Programac C++ com Qt 4 (111/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Resumo Referencias

Resumo do que foi visto

ao Qt. Introduc ao C++ com Qt. Como iniciar um projeto de aplicac ao Como realizar o projeto de telas com Qt Designer. de signals e slots. Como criar mecanismos de controle atraves Qt. Como trabalhar com banco de dados em uma aplicac ao Qt para outra l Como traduzir uma aplicac ao ngua. Como produzir o instalador da aplicac ao.

Antonio Marcio A. Menezes

a ` Programac C++ com Qt 4 (111/112) Introduc ao ao

Parte Teorica de uma Agenda de Telefones Pratica - Construc ao Resumo

Resumo Referencias

Referencias
J. Blanchette and M. Summereld. C++ GUI Programming with Qt 4. Prentice Hall, 2008. do Qt 4.5 Documentac ao http://qt.nokia.com/doc/4.5/index.html Pagina do InstallJammer http://www.installjammer.com IDE Kevora http://kevora.sourceforge.net
Antonio Marcio A. Menezes a ` Programac C++ com Qt 4 (112/112) Introduc ao ao

Você também pode gostar