|
|
Qt
(versão 4.4)
Qt
é uma marca registrada da Trolltech(que atualmente
pertence a Nokia), contando com o apoio da comunidade
open source para o seu desenvolvimento, e assim
é distribuída tanto em versões comerciais
como em uma versão open source(GPL).
Para mais informações, veja: http://trolltech.com/products/qt
Curso:
Qt - 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 qualquer um desses sistemas.
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);
- documentação:
usando o QtAssistant(organizador
da documentação) e
o QtDemo (aplicativo com um menu
de exemplos).
- ambientes
de desenvolvimento integrados;
- ferramentas
para compilação;
- 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);
- janelas
com menu, toolbar e statusbar (classes
QMainWindow, QAction, QMenuBar, QMenu,
QToolBar, QStatusBar);
- emulando
janelas MDI (classe QWorkSpace);
- arquitetura
Model/View (classes QListView,
QListWidget, QTableView, QTableWidget,
QTreeView, QTreeWidget, etc.)
- desenho
e tratamento de imagem básicos
(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 |
|
|










|
|