Introdução ao QT
Abraão Állysson dos Santos Honório
Julho de 2016
abraao.allyson@eng.ci.ufpb.br
Escopo da apresentação
● 1- Parte Teórica: Introdução:
○ Objetivo
○ História sobre o Qt
○ O que é Qt?
○ Por que usar Qt?
○ Quem usa o Qt?
● 2- Parte Prática: O framework Qt:
○ Recursos
○ Ambiente básico do QT
○ Mão na massa:
■ Exercício I
■ Exercício II
■ Exercício III
2
Objetivo:
● Introduzir o Qt Framework de forma descomplicado
● Debater projetos, o que se pode ser feito com o auxílio do Qt
● Networking, promover uma vivência entre a comunidade
3
História
1. Primeira versão em 1995, por Haavard Nord e Eirik Chambe-Eng;
1.1. Lnçamento do Qt 1.1 já em 1996, neste mesmo ano inicia-se o projeto KDE,
desenvolvido com Qt.
2. 2000,é lançado o Qtopia
3. 2005, é lançado o Qt4
4. 2008 , a Trolltech foi adquirida pela Nokia Corporation
5. 2011, a vendeu a parte de licenciamento comercial da Qt para criar Digia Qt
Comercial
6. A Digia tratou como prioridade suportar as plataformas Android, iOS, Windows
Phone e Windows 8
4
O que é QT?
1. Framework multiplataforma escrito em C++;
possui suporte a outras linguagens:
Python, Lua, Perl, Ruby, Java….
2. Criando com objetivo de desenvolver a interface gráficas
Possui suporto a:
OpenGl, Banco de dados, WebKit….
3. Software livre
5
Por que usar Qt?
1. QT SDK:
1.1. IDE: Qt creator
1.2. Editor de código sofisticado
1.3. Debuger visual
1.4. Qt Linguist
1.5. Controle de Versão
2. Multiplataforma
1. Suporte para várias linguagem
3. Conceito de sinal-slot
4. Vasta documentação
5. Comunidade grande e participativa
6
Qt vs GTK+
7
Por que usar Qt?
8
Quem usa o Qt?
9
Recursos
10
● Conjunto de elementos Gráficos(widgets)
● Programação orientada e eventos: Signals e Slots
● Multimídia: Reprodução de audio e vídeo
● Containers(QList, QVector, QHash, QString, Qchar….)
Widgets
11
Signals & Slots
12
● Não são implementados, apenas o protótipo na seção signals da classe
● Cria-se apenas o protótipo na seção signals da classe
A comunicação entre os widgets, no Qt, é feita através de signals e slots.
Signals:
Slots:
● Métodos(funções) que são invocados por Signals
Signals & Slots
13
connect( p_widget1, signal1, p_widget2, slot2);connect(QhorizontalSlider,SIGNAL(valueChange(int)), QLCDNumber, SLOT(display());
Conexão Sinal-Slot
Qt Creator: IDE
14
Qt Creator: IDE
➔ Qtdoc: Sistema de ajuda
15
Qt Creator: IDE
➔ Editor de texto
16
Qt Creator: IDE
➔ Editor GUI:
17
Mão na massa
18
Criando um projeto
19
Exercício I
1. Nome da aplicação: Hello Word Qt
2. Aplicação: Uma serie de aplicações básicas
3. Objetivo: Familiarizar com o Qt e com QtCretor
4. Nível de dificuldade:
20
Exercício I
21
Hello Word Incrementação Cadastro simples
Exercício II
1. Nome da aplicação: Qpaint
2. Aplicação: Um paint simplificado
3. Objetivo: aprofundar os conhecimento no Qt
4. Nível de dificuldade:
22
Exercício II
23
Qpaint
Tela principal
Exercício II
24
Qpaint
Interface da classe Circulo Interface da classe Quadrado
Interface da classe Linha
Obrigado!
Abraão Állysson dos Santos Honório
Julho de 2016
abraao.allyson@eng.ci.ufpb.br

Introdução ao qt

  • 1.
    Introdução ao QT AbraãoÁllysson dos Santos Honório Julho de 2016 abraao.allyson@eng.ci.ufpb.br
  • 2.
    Escopo da apresentação ●1- Parte Teórica: Introdução: ○ Objetivo ○ História sobre o Qt ○ O que é Qt? ○ Por que usar Qt? ○ Quem usa o Qt? ● 2- Parte Prática: O framework Qt: ○ Recursos ○ Ambiente básico do QT ○ Mão na massa: ■ Exercício I ■ Exercício II ■ Exercício III 2
  • 3.
    Objetivo: ● Introduzir oQt Framework de forma descomplicado ● Debater projetos, o que se pode ser feito com o auxílio do Qt ● Networking, promover uma vivência entre a comunidade 3
  • 4.
    História 1. Primeira versãoem 1995, por Haavard Nord e Eirik Chambe-Eng; 1.1. Lnçamento do Qt 1.1 já em 1996, neste mesmo ano inicia-se o projeto KDE, desenvolvido com Qt. 2. 2000,é lançado o Qtopia 3. 2005, é lançado o Qt4 4. 2008 , a Trolltech foi adquirida pela Nokia Corporation 5. 2011, a vendeu a parte de licenciamento comercial da Qt para criar Digia Qt Comercial 6. A Digia tratou como prioridade suportar as plataformas Android, iOS, Windows Phone e Windows 8 4
  • 5.
    O que éQT? 1. Framework multiplataforma escrito em C++; possui suporte a outras linguagens: Python, Lua, Perl, Ruby, Java…. 2. Criando com objetivo de desenvolver a interface gráficas Possui suporto a: OpenGl, Banco de dados, WebKit…. 3. Software livre 5
  • 6.
    Por que usarQt? 1. QT SDK: 1.1. IDE: Qt creator 1.2. Editor de código sofisticado 1.3. Debuger visual 1.4. Qt Linguist 1.5. Controle de Versão 2. Multiplataforma 1. Suporte para várias linguagem 3. Conceito de sinal-slot 4. Vasta documentação 5. Comunidade grande e participativa 6
  • 7.
  • 8.
  • 9.
  • 10.
    Recursos 10 ● Conjunto deelementos Gráficos(widgets) ● Programação orientada e eventos: Signals e Slots ● Multimídia: Reprodução de audio e vídeo ● Containers(QList, QVector, QHash, QString, Qchar….)
  • 11.
  • 12.
    Signals & Slots 12 ●Não são implementados, apenas o protótipo na seção signals da classe ● Cria-se apenas o protótipo na seção signals da classe A comunicação entre os widgets, no Qt, é feita através de signals e slots. Signals: Slots: ● Métodos(funções) que são invocados por Signals
  • 13.
    Signals & Slots 13 connect(p_widget1, signal1, p_widget2, slot2);connect(QhorizontalSlider,SIGNAL(valueChange(int)), QLCDNumber, SLOT(display()); Conexão Sinal-Slot
  • 14.
  • 15.
    Qt Creator: IDE ➔Qtdoc: Sistema de ajuda 15
  • 16.
    Qt Creator: IDE ➔Editor de texto 16
  • 17.
    Qt Creator: IDE ➔Editor GUI: 17
  • 18.
  • 19.
  • 20.
    Exercício I 1. Nomeda aplicação: Hello Word Qt 2. Aplicação: Uma serie de aplicações básicas 3. Objetivo: Familiarizar com o Qt e com QtCretor 4. Nível de dificuldade: 20
  • 21.
    Exercício I 21 Hello WordIncrementação Cadastro simples
  • 22.
    Exercício II 1. Nomeda aplicação: Qpaint 2. Aplicação: Um paint simplificado 3. Objetivo: aprofundar os conhecimento no Qt 4. Nível de dificuldade: 22
  • 23.
  • 24.
    Exercício II 24 Qpaint Interface daclasse Circulo Interface da classe Quadrado Interface da classe Linha
  • 25.
    Obrigado! Abraão Állysson dosSantos Honório Julho de 2016 abraao.allyson@eng.ci.ufpb.br