SlideShare uma empresa Scribd logo
1 de 25
Baixar para ler offline
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

Mais conteúdo relacionado

Mais procurados

Palestra caruaru2016
Palestra caruaru2016Palestra caruaru2016
Palestra caruaru2016Rildo Pragana
 
TDC 2010 Florianópolis - Ginga
TDC 2010 Florianópolis - GingaTDC 2010 Florianópolis - Ginga
TDC 2010 Florianópolis - GingaBruno Ghisi
 
Práticas de Agilidade e QA na Comunidade KDE
Práticas de Agilidade e QA na Comunidade KDEPráticas de Agilidade e QA na Comunidade KDE
Práticas de Agilidade e QA na Comunidade KDESandro Andrade
 
Construindo sua Assistente Virtual Integrada a Dispositivos IoT com Python ...
Construindo sua  Assistente Virtual  Integrada a Dispositivos IoT com Python ...Construindo sua  Assistente Virtual  Integrada a Dispositivos IoT com Python ...
Construindo sua Assistente Virtual Integrada a Dispositivos IoT com Python ...Cicero Joasyo Mateus de Moura
 
TDC2016 - Explorando Qt5 e Python em Linux Embarcado
TDC2016 - Explorando Qt5 e Python em Linux EmbarcadoTDC2016 - Explorando Qt5 e Python em Linux Embarcado
TDC2016 - Explorando Qt5 e Python em Linux EmbarcadoCleiton Bueno
 
Overview de Grails: O Java em alta produtividade
Overview de Grails: O Java em alta produtividadeOverview de Grails: O Java em alta produtividade
Overview de Grails: O Java em alta produtividadeCleórbete Santos
 
Tentar dominar o mundo - Luciano Camargo Cruz
Tentar dominar o mundo - Luciano Camargo Cruz  Tentar dominar o mundo - Luciano Camargo Cruz
Tentar dominar o mundo - Luciano Camargo Cruz Tchelinux
 
TDC2016SP - Trilha Linux Embarcado
TDC2016SP - Trilha Linux EmbarcadoTDC2016SP - Trilha Linux Embarcado
TDC2016SP - Trilha Linux Embarcadotdc-globalcode
 
V Pylestra - introdução ao python
V Pylestra - introdução ao pythonV Pylestra - introdução ao python
V Pylestra - introdução ao pythonSilvio Roberto
 
Ligando uma cafeteira com Micropython, Mqtt e Android
Ligando uma cafeteira com Micropython, Mqtt e AndroidLigando uma cafeteira com Micropython, Mqtt e Android
Ligando uma cafeteira com Micropython, Mqtt e AndroidGDGFoz
 
Continuous Delivery com Docker, Jenkins e OpenShift
Continuous Delivery com Docker, Jenkins e OpenShiftContinuous Delivery com Docker, Jenkins e OpenShift
Continuous Delivery com Docker, Jenkins e OpenShiftBruno Padilha
 

Mais procurados (18)

Jogos em Qt
Jogos em QtJogos em Qt
Jogos em Qt
 
Qt
QtQt
Qt
 
Open source e Digital Libraries
Open source e Digital LibrariesOpen source e Digital Libraries
Open source e Digital Libraries
 
Palestra Uninassau
Palestra UninassauPalestra Uninassau
Palestra Uninassau
 
Palestra caruaru2016
Palestra caruaru2016Palestra caruaru2016
Palestra caruaru2016
 
TDC 2010 Florianópolis - Ginga
TDC 2010 Florianópolis - GingaTDC 2010 Florianópolis - Ginga
TDC 2010 Florianópolis - Ginga
 
Práticas de Agilidade e QA na Comunidade KDE
Práticas de Agilidade e QA na Comunidade KDEPráticas de Agilidade e QA na Comunidade KDE
Práticas de Agilidade e QA na Comunidade KDE
 
Construindo sua Assistente Virtual Integrada a Dispositivos IoT com Python ...
Construindo sua  Assistente Virtual  Integrada a Dispositivos IoT com Python ...Construindo sua  Assistente Virtual  Integrada a Dispositivos IoT com Python ...
Construindo sua Assistente Virtual Integrada a Dispositivos IoT com Python ...
 
TDC2016 - Explorando Qt5 e Python em Linux Embarcado
TDC2016 - Explorando Qt5 e Python em Linux EmbarcadoTDC2016 - Explorando Qt5 e Python em Linux Embarcado
TDC2016 - Explorando Qt5 e Python em Linux Embarcado
 
Overview de Grails: O Java em alta produtividade
Overview de Grails: O Java em alta produtividadeOverview de Grails: O Java em alta produtividade
Overview de Grails: O Java em alta produtividade
 
Open-AudIT
Open-AudITOpen-AudIT
Open-AudIT
 
Tentar dominar o mundo - Luciano Camargo Cruz
Tentar dominar o mundo - Luciano Camargo Cruz  Tentar dominar o mundo - Luciano Camargo Cruz
Tentar dominar o mundo - Luciano Camargo Cruz
 
CEFET - Linux Day 2011 - GNU/Linux
CEFET - Linux Day 2011 - GNU/LinuxCEFET - Linux Day 2011 - GNU/Linux
CEFET - Linux Day 2011 - GNU/Linux
 
TDC2016SP - Trilha Linux Embarcado
TDC2016SP - Trilha Linux EmbarcadoTDC2016SP - Trilha Linux Embarcado
TDC2016SP - Trilha Linux Embarcado
 
Palestra n roma
Palestra n romaPalestra n roma
Palestra n roma
 
V Pylestra - introdução ao python
V Pylestra - introdução ao pythonV Pylestra - introdução ao python
V Pylestra - introdução ao python
 
Ligando uma cafeteira com Micropython, Mqtt e Android
Ligando uma cafeteira com Micropython, Mqtt e AndroidLigando uma cafeteira com Micropython, Mqtt e Android
Ligando uma cafeteira com Micropython, Mqtt e Android
 
Continuous Delivery com Docker, Jenkins e OpenShift
Continuous Delivery com Docker, Jenkins e OpenShiftContinuous Delivery com Docker, Jenkins e OpenShift
Continuous Delivery com Docker, Jenkins e OpenShift
 

Semelhante a Introdução ao Qt Framework

Qt tchelinux-2010
Qt tchelinux-2010Qt tchelinux-2010
Qt tchelinux-2010Wagner Reck
 
Desenvolvimento orientado a objetos com C++ e QT4 - Henrique Marks
Desenvolvimento orientado a objetos com C++ e QT4 - Henrique MarksDesenvolvimento orientado a objetos com C++ e QT4 - Henrique Marks
Desenvolvimento orientado a objetos com C++ e QT4 - Henrique MarksTchelinux
 
Qt Techday - João Pessoa
Qt Techday - João PessoaQt Techday - João Pessoa
Qt Techday - João PessoaOpenBossa
 
O Qt e sua atuação no desenvolvimento desktop, mobile, embarcado e para IoT
O Qt e sua atuação no desenvolvimento desktop, mobile, embarcado e para IoTO Qt e sua atuação no desenvolvimento desktop, mobile, embarcado e para IoT
O Qt e sua atuação no desenvolvimento desktop, mobile, embarcado e para IoTSandro Andrade
 
Kde para iniciantes - Camila Ayres
Kde para iniciantes - Camila AyresKde para iniciantes - Camila Ayres
Kde para iniciantes - Camila AyresTchelinux
 
Slide PyQt versus Pyside
Slide PyQt versus PysideSlide PyQt versus Pyside
Slide PyQt versus PysideWill Filho
 
c-gui-programming-with-qt-4-2ndedition -Cap1e2
c-gui-programming-with-qt-4-2ndedition -Cap1e2c-gui-programming-with-qt-4-2ndedition -Cap1e2
c-gui-programming-with-qt-4-2ndedition -Cap1e2Cedemir Pereira
 
Construção de interfaces gráficas com Tkinter
Construção de interfaces gráficas com TkinterConstrução de interfaces gráficas com Tkinter
Construção de interfaces gráficas com TkinterMarcos Castro
 
Introdução ao WSO2 API Microgateway 3.1
Introdução ao WSO2 API Microgateway 3.1Introdução ao WSO2 API Microgateway 3.1
Introdução ao WSO2 API Microgateway 3.1WSO2
 
Palestra sobre tkinter
Palestra sobre tkinterPalestra sobre tkinter
Palestra sobre tkinterMarcos Castro
 
TV Digital interativa - Projeto TeouVi
TV Digital interativa - Projeto TeouViTV Digital interativa - Projeto TeouVi
TV Digital interativa - Projeto TeouViLucas Augusto Carvalho
 
IX Pylestras - SmartGrid com Python
IX Pylestras - SmartGrid com PythonIX Pylestras - SmartGrid com Python
IX Pylestras - SmartGrid com Pythonitalomaia
 
Protocolo MQTT: Message Queuing Telemetry Transport
Protocolo MQTT: Message Queuing Telemetry TransportProtocolo MQTT: Message Queuing Telemetry Transport
Protocolo MQTT: Message Queuing Telemetry TransportNorberto Enomoto
 
Comunicação de Dispositivos IoT com MQTT
Comunicação de Dispositivos IoT com MQTTComunicação de Dispositivos IoT com MQTT
Comunicação de Dispositivos IoT com MQTTJorge Maia
 
Internet of Things: The MQTT protocol
Internet of Things: The MQTT protocolInternet of Things: The MQTT protocol
Internet of Things: The MQTT protocolMauro Assis
 
Ginga - OpenTDC 2009
Ginga - OpenTDC 2009Ginga - OpenTDC 2009
Ginga - OpenTDC 2009Bruno Ghisi
 
Qt: O Seu toolkit para C++/Python com o verdadeiro: Write Once Deploys Everyw...
Qt: O Seu toolkit para C++/Python com o verdadeiro: Write Once Deploys Everyw...Qt: O Seu toolkit para C++/Python com o verdadeiro: Write Once Deploys Everyw...
Qt: O Seu toolkit para C++/Python com o verdadeiro: Write Once Deploys Everyw...Lays Rodrigues
 

Semelhante a Introdução ao Qt Framework (20)

Introdução ao Qt
Introdução ao QtIntrodução ao Qt
Introdução ao Qt
 
Qt tchelinux-2010
Qt tchelinux-2010Qt tchelinux-2010
Qt tchelinux-2010
 
Desenvolvimento orientado a objetos com C++ e QT4 - Henrique Marks
Desenvolvimento orientado a objetos com C++ e QT4 - Henrique MarksDesenvolvimento orientado a objetos com C++ e QT4 - Henrique Marks
Desenvolvimento orientado a objetos com C++ e QT4 - Henrique Marks
 
Qt Techday - João Pessoa
Qt Techday - João PessoaQt Techday - João Pessoa
Qt Techday - João Pessoa
 
O Qt e sua atuação no desenvolvimento desktop, mobile, embarcado e para IoT
O Qt e sua atuação no desenvolvimento desktop, mobile, embarcado e para IoTO Qt e sua atuação no desenvolvimento desktop, mobile, embarcado e para IoT
O Qt e sua atuação no desenvolvimento desktop, mobile, embarcado e para IoT
 
Kde para iniciantes - Camila Ayres
Kde para iniciantes - Camila AyresKde para iniciantes - Camila Ayres
Kde para iniciantes - Camila Ayres
 
Slide PyQt versus Pyside
Slide PyQt versus PysideSlide PyQt versus Pyside
Slide PyQt versus Pyside
 
c-gui-programming-with-qt-4-2ndedition -Cap1e2
c-gui-programming-with-qt-4-2ndedition -Cap1e2c-gui-programming-with-qt-4-2ndedition -Cap1e2
c-gui-programming-with-qt-4-2ndedition -Cap1e2
 
Rqt1
Rqt1Rqt1
Rqt1
 
Construção de interfaces gráficas com Tkinter
Construção de interfaces gráficas com TkinterConstrução de interfaces gráficas com Tkinter
Construção de interfaces gráficas com Tkinter
 
Introdução ao WSO2 API Microgateway 3.1
Introdução ao WSO2 API Microgateway 3.1Introdução ao WSO2 API Microgateway 3.1
Introdução ao WSO2 API Microgateway 3.1
 
Palestra sobre tkinter
Palestra sobre tkinterPalestra sobre tkinter
Palestra sobre tkinter
 
Kde comunidade
Kde comunidadeKde comunidade
Kde comunidade
 
TV Digital interativa - Projeto TeouVi
TV Digital interativa - Projeto TeouViTV Digital interativa - Projeto TeouVi
TV Digital interativa - Projeto TeouVi
 
IX Pylestras - SmartGrid com Python
IX Pylestras - SmartGrid com PythonIX Pylestras - SmartGrid com Python
IX Pylestras - SmartGrid com Python
 
Protocolo MQTT: Message Queuing Telemetry Transport
Protocolo MQTT: Message Queuing Telemetry TransportProtocolo MQTT: Message Queuing Telemetry Transport
Protocolo MQTT: Message Queuing Telemetry Transport
 
Comunicação de Dispositivos IoT com MQTT
Comunicação de Dispositivos IoT com MQTTComunicação de Dispositivos IoT com MQTT
Comunicação de Dispositivos IoT com MQTT
 
Internet of Things: The MQTT protocol
Internet of Things: The MQTT protocolInternet of Things: The MQTT protocol
Internet of Things: The MQTT protocol
 
Ginga - OpenTDC 2009
Ginga - OpenTDC 2009Ginga - OpenTDC 2009
Ginga - OpenTDC 2009
 
Qt: O Seu toolkit para C++/Python com o verdadeiro: Write Once Deploys Everyw...
Qt: O Seu toolkit para C++/Python com o verdadeiro: Write Once Deploys Everyw...Qt: O Seu toolkit para C++/Python com o verdadeiro: Write Once Deploys Everyw...
Qt: O Seu toolkit para C++/Python com o verdadeiro: Write Once Deploys Everyw...
 

Introdução ao Qt Framework

  • 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 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
  • 4. 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
  • 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 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
  • 8. Por que usar Qt? 8
  • 9. Quem usa o Qt? 9
  • 10. 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….)
  • 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
  • 15. Qt Creator: IDE ➔ Qtdoc: Sistema de ajuda 15
  • 16. Qt Creator: IDE ➔ Editor de texto 16
  • 17. Qt Creator: IDE ➔ Editor GUI: 17
  • 20. 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
  • 21. Exercício I 21 Hello Word Incrementação Cadastro simples
  • 22. 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
  • 24. Exercício II 24 Qpaint Interface da classe Circulo Interface da classe Quadrado Interface da classe Linha
  • 25. Obrigado! Abraão Állysson dos Santos Honório Julho de 2016 abraao.allyson@eng.ci.ufpb.br