| require ("menu.inc"); ?>
|
Qt
(versão 4.7) -
ver
perfil do curso abaixo - 
Qt é uma bilioteca
e um framework C++, multiplataforma, que atualmente pertence
à Nokia, contando também com o apoio da comunidade open source
para o seu desenvolvimento. Isso porque, tradicionalmente, a biblioteca sempre
foi distribuída tanto em versões comerciais como em uma versão
open source(GPL). E agora, também, a LGPL. Para mais informações,
veja: http://www.qtsoftware.com/products
Qt
4.7 - licença LGPL.
-
Desde
a versão 4.5 você pode desenvolver aplicações
comerciais (com fonte aberto ou fechado) sem precisar
da licença comercial de Qt. Esse fato deverá
favorecer fortemente a expansão de Qt, que é
a melhor solução multiplataforma para o
desenvolvimento de aplicações nativas voltadas
tanto para o desktop (Windows, Linux, Unix e Mac), como
também para alguns embarcados (embedded Linux,
Windows CE e Symbian S60).
Qt Creator: IDE multiplatraforma (LGPL) já disponível.
- Outra novidade importante (desde a versão 4.5)
foi a liberação da primeira versão
do QtCreator, uma IDE focada em Qt. Além
de simplificar a criação e manutenção
de projetos, ele integra em um mesmo ambiente ferramentas
que já existiam, como o QtAssistant (ajuda) e o
QtDesigner (editor visual para interfaces gráficas).
Instalação
de Qt: agora basta o SDK.
- Desde a versão 4.5, Qt passa a ser distribuída
em um SDK completo (bibliotecas e ferramentas),
tudo embutido em um único programa de instalação(um
para cada plataforma), simplificando a instalação.
Treinamento
do Curso: Qt 4.7 (Desenvolvimento multi-plataforma
em C++ com Qt)
|
 | Qt
é uma biblioteca C++ que
permite que você possa programar
para Windows, Unix/Linux e Mac, de modo portável, escrevendo
código uma única vez para esses sistemas. E fornece a base para
embedded Linux, Windows CE e Symbian S60.
Este
curso cobre: Interface Gráfica de Usuário,
tratamento de eventos, recursos de I/O, multithreading (em baixo e alto nível),
comunicação entre processos, TCP/IP(network), banco de dados(SQL),
XML, WEB.
OBS: durante o curso,
os computadores das salas de treinamento estarão equipados com Windows
e Linux. Assim, você poderá escolher o sistema de sua preferência. |
| |
|  |
| Perfil
do Curso | |
Objetivo:
capacitar
o aluno para o desenvolvimento de aplicações com Qt, que poderão
ser executadas em Windows, Unix/Linux e Mac. |
| Pré-requisitos:
Linguagem de programação C++ e conhecimento de operação em Windows ou Linux (pois,
durante o curso, você deverá escolher um desses 2 sistemas);
|
OBS:
caso você não conheça a Linguagem
C++, ou não tenha um bom domínio de herança, polimorfismo (em especial funções
virtuais), ponteiros para função e templates, deve cursar primeiro
o nosso curso Linguagem
C++, para preencher este pré-requisito. E
se você se inscrever para o curso "Linguagem C++" e também para o curso "Desenvolvimento
multi-plataforma em C++ com Qt", terá direito a desconto de 20%.
| |
Carga
Horária: 60 horas. |
| Instrutor:
com longa experiência em programação na linguagem C++,
completou o curso oficial de Qt na Integrated Computer Solutions(ICS),
centro de treinamento autorizado da Trolltech. |
| Material
didático: apostila produzida pela Agit Informática
(em português), acrescida, eventualmente, de textos em inglês. |
|
Principais
Tópicos | | >> |
1.
Introdução: | | |
- visão geral
de Qt (plataformas a que se destina, áreas de aplicação cobertas,
uso no mercado, licenciamento, etc;
- instalando
o SDK completo - bibliotecas e ferramentas;
- documentação:
usando o QtAssistant(organizador da documentação) e
o QtDemo (aplicativo com um extenso menu de exemplos cobrindo todos os
módulos de Qt).
- ferramentas
para compilação;
- ambientes
de desenvolvimento integrados para Qt, com destaque para o QtCreator,
IDE criada pela Nokia especialmente para Qt, e que possibilita ganhos de produtividade
consideráveis no desenvolvimento com Qt;
Obs: o QtCreator
será a IDE utilizada pelo instrutor, mas os alunos poderão optar,
se quiserem, pelo Eclipse CDT; - organização
da biblioteca: módulos de Qt e sua hierarquia de classes C++;
- adicionando
e excluindo módulos;
- construindo
aplicações sem interface gráfica;
- construindo
bibliotecas estáticas e dinâmicas;
- relacionamento
entre objetos: a classe QObject e o relacionamento parent/child;
- mecanismos
para tratamento de eventos:
- a)
o mecanismo de signals e slots; sinalizações síncrona
e assíncrona;
- b)
funções virtuais
|
| >> | 2.
Interface Gráfica de Usuário: |
| |
- noções
gerais sobre os recursos oferecidos por Qt para a criação de interfaces
gráficas; conceito de Widget;
- desenhando
interfaces com o Qt Designer;
- construindo
Widgets no código:
- gerenciamento
de geometria (classes QLayout, QBoxLayout, QHBoxLayout, QVBoxLayout,, QFormLayout,
QGridLayout, QStackedLayout);
- particularidades
no tratamento de eventos em aplicações de interface gráfica;
- exemplos
e exercícios com as classes comuns (pré-definidas) de Widgets
(QWidget, QLabel, QLineEdit, QTextEdit, QPushButton, QCheckBox, QRadioButton,
QComboBox, QGroupBox, QFrame, etc);
- personalizando
Widgets;
- diálogos:
diálogos personalizados (classe QDialog) e diálogos pré-definidos(classes
QColorDialog, QFileDialog, QFontDialog, QInputDialog, QMessageBox,QErrorMessage,
QPrintDialog, QPrintPreviewDialog, QProgressDialog, QWizard);
- interfaces
com janelas alternáveis através de "abas" (QTabWidget);
- janelas
com menu, toolbar e statusbar (classes QMainWindow, QAction,
QMenuBar, QMenu, QToolBar, QStatusBar); interface
SDI, usando essas
classes;
- interface
MDI (classe QMdiArea, além das classes do item anterior); MDI nos
formatos subwindows e tabbed windows (com "abas");
- adicionando
Splitters com QSplitter;
- arquitetura
Model/View (classes QListView, QTableView, , QTreeView) e
classes de atalho ou de "conveniência" (QListWidget, QTableWidget,
QTreeWidget);
- desenho
e tratamento de imagem básicos (função virtual paintEvent
e classes QPainter, QPaintEngine, QPaintDevice, QImage, QPixmap,
QMovie);
- impressão:
(classes QPrinter, QPrintDialog);
|
| >> | 3.
Arquivos: | | |
- manipulação
básica de arquivos (classes QIODevice, QFile, QBuffer);
- manipulando
o sistema de arquivos (classes QFileSystemModel, QFileSystemWatcher);
|
| >> | 4.
Multithreading e comunicação entre processos: |
| |
- entendendo o que
é multithreading;
- entendendo
os conceitos e recursos de sincronização entre diferentes threads,
como mutexes, semáforos e variáveis de condição;
- multthreading
em baixo nível com Qt(classes QThread, QThreadStorage, QMutex, QSemaphore,
QWaitCondition);
- multthreading
em alto nível com Qt(classes sob o namespace QtConcurrent no módulo
QtCore);
- prevenindo
problemas comuns de sincronização em aplicações multithreading;
- a
classe QProcess;
| | >> | 5.
Network (usando TCP/IP): | | |
- entendendo o que são
sockets;
- as
classes QAbstractSocket, QTcpSocket, QTcpServer, QUdpSocket;
- classes
para serviços pré-definidos: QHttp, QFtp;
|
| >> | 6.
Banco de Dados (SQL): | | |
- conceitos básicos;
-
classes QSqlDatabase, QSqlDriver, QSqlQuery, QSqlRecord, etc;
- recursos
para acesso a banco de dados em interfaces gráficas de usuário,
utilizando a arquitetura model/view com a ajuda das classes QSqlQueryModel,
QSqlTableModel, QsqlRelationalTableModel;
|
| >> | 7.
XML: | | |
- principais classes
do módulo QtXml, como QDomDocument, QXmlStreamReader, QXmlStreamWriter,
QXmlSimpleReader e outras;
| | >> | 8.
Criando Web Browser: | | |
- utilizando um web
browser em uma aplicação;
- as
classes do módulo QtWebkit.
|
| |
| | |  
 
Copyright
© 2002 AGIT INFORMÁTICA LTDA | | |
require ("menu_d.inc"); ?> |