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