Este documento apresenta uma palestra sobre QtQuick e Software Livre. Apresenta conceitos básicos de QtQuick como QML, elementos visuais e interação, além de exercícios práticos para aplicar os conceitos aprendidos.
Palestra sobre persistência de dados no SQLite com Room API apresentada no TDC São Paulo 2017 (19/07/2017). O Room é um dos Architectural Components apresentados pelo Google no Google I/O 2017.
O documento fornece uma introdução sobre como criar jogos para Android usando AndEngine, mencionando:
1) É necessário usar uma engine gráfica para criar os jogos;
2) Existem várias engines populares como Corona, jMonkey Engine e AndEngine;
3) Criar jogos requer estudo, dedicação e colocar a mão na massa, começando com uma ideia, layout e programação.
QTestLib: Criando unit tests inteligentes para projetos baseados em QtBruno Abinader
O documento descreve o framework QTestLib para criação de testes unitários em projetos Qt, incluindo como escrever testes, comparar valores, simular eventos e acessar membros privados.
Este documento resume a edição de março/abril de 2010 da Revista Qt. Contém um minicurso sobre programação C++ com Qt, a tradução do segundo capítulo de um livro sobre pensamento computacional, e um artigo sobre aplicações híbridas usando Qt e PHP.
Palestra sobre persistência de dados no SQLite com Room API apresentada no TDC São Paulo 2017 (19/07/2017). O Room é um dos Architectural Components apresentados pelo Google no Google I/O 2017.
O documento fornece uma introdução sobre como criar jogos para Android usando AndEngine, mencionando:
1) É necessário usar uma engine gráfica para criar os jogos;
2) Existem várias engines populares como Corona, jMonkey Engine e AndEngine;
3) Criar jogos requer estudo, dedicação e colocar a mão na massa, começando com uma ideia, layout e programação.
QTestLib: Criando unit tests inteligentes para projetos baseados em QtBruno Abinader
O documento descreve o framework QTestLib para criação de testes unitários em projetos Qt, incluindo como escrever testes, comparar valores, simular eventos e acessar membros privados.
Este documento resume a edição de março/abril de 2010 da Revista Qt. Contém um minicurso sobre programação C++ com Qt, a tradução do segundo capítulo de um livro sobre pensamento computacional, e um artigo sobre aplicações híbridas usando Qt e PHP.
Este documento descreve a segunda edição da Revista QT, incluindo: 1) A criação de novas seções na revista para organizar os artigos; 2) A continuação do tutorial sobre desenvolvimento de aplicações híbridas usando Qt e PHP, mostrando como construir a interface e o banco de dados; 3) Instruções iniciais para populando a tabela de estados no banco de dados.
O documento apresenta uma introdução ao framework Qt e à linguagem QtQuick. Resume os principais pontos sobre o que é o Qt, sua arquitetura, o que é o QtQuick, como funciona a linguagem QML e considerações finais sobre recursos adicionais.
Este documento fornece um resumo sobre o framework Qt, incluindo sua história, principais módulos e ferramentas, e novidades futuras. O Qt é um framework multiplataforma em C++ amplamente usado para desenvolvimento de interfaces gráficas e também aplicações não-GUI. Ele oferece suporte a várias plataformas como Windows, Linux, Mac OS e sistemas embarcados.
O documento introduz o QML, uma linguagem para desenvolvimento de interfaces gráficas. Explica que o QML permite a criação de elementos visuais e lógica através de JavaScript. Apresenta alguns conceitos como ancoragem, modelo-visão-delegado e contextualiza o QML como parte do framework Qt para desenvolvimento multiplataforma.
Daker Fernandes Pinheiro apresentou sobre desenvolvimento de jogos usando Qt. Ele discutiu como Qt pode ser usado para criar jogos para dispositivos móveis como Symbian, MeeGo e Android, além de jogos indie para Linux, Windows e Mac. Daker também falou sobre jogos que ele criou usando Qt, como Flying Bus e Pathwind, e sobre o jogo Incredible Circus que teve mais de 1 milhão de downloads.
Este documento apresenta um tutorial sobre a instalação do Qt SDK e introdução ao Qt Creator. O tutorial explica como instalar o Qt SDK nas plataformas Windows e Linux e como criar um primeiro programa "Olá Mundo" usando o Qt Creator.
Este documento apresenta os procedimentos para planejamento de uma instalação elétrica, incluindo desenho da planta baixa, previsão de cargas elétricas, símbolos para elementos de instalação e especificações técnicas para projeto.
Teclado curso completo - como tocar teclado - rafael harduimjoelsonmoreira
O documento discute a história do teclado e sintetizador, desde os primeiros modelos grandes e caros até os modelos mais acessíveis como o Minimoog. Também destaca figuras importantes como Robert Moog, Wendy Carlos e Keith Emerson na popularização do instrumento.
Este documento discute oportunidades de desenvolvimento para dispositivos Nokia, incluindo o Nokia Store, Qt SDK e Windows Phone. Ele destaca o alcance global da Nokia, ferramentas para criar interfaces ricas com QML e as vantagens de desenvolver para a plataforma Windows Phone como o Metro UI e novas APIs.
Aplicações de Inteligência Artificial em Rádios CognitivosRamon Mayor Martins
O documento discute as aplicações de inteligência artificial em rádios cognitivos, incluindo algoritmos de metaheurística, busca baseada em casos, lógica fuzzy, teoria dos jogos e redes neurais artificiais. Estas técnicas podem ser usadas para reconhecimento de modulação, handoff de espectro e adaptação de parâmetros do rádio.
Este documento apresenta a primeira aula de um minicurso sobre programação C++ com Qt. Nela, o instrutor ensina como instalar e configurar o ambiente de desenvolvimento necessário para compilar programas em C++ no Windows e no Linux. Ele também recomenda o uso do editor do Qt Creator para escrever o código.
O documento descreve a técnica de busca tabu, incluindo seu funcionamento, conceitos básicos e aplicação ao problema das n-rainhas. A busca tabu é uma metaheurística que melhora a busca local evitando movimentos repetidos através de uma lista tabu de soluções já visitadas.
O documento introduz três heurísticas para o problema de roteamento de veículos: a heurística de Clark e Wright, a heurística de Mole e Jameson e algoritmos genéticos. A heurística de Clark e Wright é rápida porém frágil, enquanto a de Mole e Jameson é mais lenta mas reduz fragilidades. Os algoritmos genéticos iniciam com rotas aleatórias e evoluem as rotas através de operadores genéticos para encontrar soluções ótimas.
METAHEURÍSTICA GRASP APLICADA AO PROBLEMA DO SEQUENCIAMENTO DE TAREFASJoao Gonçalves
Esse trabalho aborda o problema do sequenciamento (scheduling) de tarefas, que consiste no
estudo da ordem de entrada de diferentes tarefas a serem executadas em máquinas de produção.
Obter o melhor sequenciamento possível significa reduzir o tempo total de trabalho (makespan)
dessas máquinas, sendo esse o motivo desse trabalho. A solução adotada emprega o uso da
metaheurística GRASP, no qual os resultados serão mostrados nesse documento.
O documento discute o sistema de meta-objetos do Qt e como ele permite a comunicação entre C++ e QML através da geração automática de código pelo MOC. O MOC gera código que fornece recursos como reflexão de classes que permitem a criação e invocação dinâmica de objetos no Qt.
O documento discute várias ferramentas da qualidade como PDCA, MASP, estratificação, lista de verificação, gráfico de Pareto, diagrama de causa e efeito e histograma que podem ser usadas para identificar e resolver problemas de qualidade de forma sistemática.
O documento discute conceitos fundamentais de orientação a objetos em C++, incluindo:
1) Definição de classes e criação de objetos;
2) Membros públicos e privados de classes;
3) Construtores, destrutores e métodos de classes.
Heurística, Principios e Usabilidade na webDaniel Brandão
O documento discute os conceitos de usabilidade, princípios da heurística e design de interação para experiência do usuário. Aborda a definição de usabilidade como facilidade de uso, e seus aspectos na web como tornar as tarefas simples e eficientes. Também explica a avaliação heurística de Nielsen para testar interfaces com base em princípios como feedback e prevenção de erros.
This document describes functional pattern matching in different programming languages like Haskell, Erlang, Python, and Prolog. It introduces a Python library called Patterns that implements pattern matching via function decoration and AST transformation. The library allows matching different patterns in function arguments and assigning or evaluating expressions based on the matched patterns.
The document discusses why Python can be slow compared to other languages and provides tips for optimizing Python code. It explains that Python is an interpreted language and lacks type safety, which contributes to slower performance than compiled languages. However, Python includes tools like NumPy that optimize certain operations. The document recommends profiling code to identify bottlenecks, using appropriate data structures and algorithms, minimizing interpreter overhead through concurrency or C extensions, and as a last resort considering other languages. Overall it provides guidance on architectural choices, algorithms, memory usage, and language options to improve Python performance.
Este documento descreve a segunda edição da Revista QT, incluindo: 1) A criação de novas seções na revista para organizar os artigos; 2) A continuação do tutorial sobre desenvolvimento de aplicações híbridas usando Qt e PHP, mostrando como construir a interface e o banco de dados; 3) Instruções iniciais para populando a tabela de estados no banco de dados.
O documento apresenta uma introdução ao framework Qt e à linguagem QtQuick. Resume os principais pontos sobre o que é o Qt, sua arquitetura, o que é o QtQuick, como funciona a linguagem QML e considerações finais sobre recursos adicionais.
Este documento fornece um resumo sobre o framework Qt, incluindo sua história, principais módulos e ferramentas, e novidades futuras. O Qt é um framework multiplataforma em C++ amplamente usado para desenvolvimento de interfaces gráficas e também aplicações não-GUI. Ele oferece suporte a várias plataformas como Windows, Linux, Mac OS e sistemas embarcados.
O documento introduz o QML, uma linguagem para desenvolvimento de interfaces gráficas. Explica que o QML permite a criação de elementos visuais e lógica através de JavaScript. Apresenta alguns conceitos como ancoragem, modelo-visão-delegado e contextualiza o QML como parte do framework Qt para desenvolvimento multiplataforma.
Daker Fernandes Pinheiro apresentou sobre desenvolvimento de jogos usando Qt. Ele discutiu como Qt pode ser usado para criar jogos para dispositivos móveis como Symbian, MeeGo e Android, além de jogos indie para Linux, Windows e Mac. Daker também falou sobre jogos que ele criou usando Qt, como Flying Bus e Pathwind, e sobre o jogo Incredible Circus que teve mais de 1 milhão de downloads.
Este documento apresenta um tutorial sobre a instalação do Qt SDK e introdução ao Qt Creator. O tutorial explica como instalar o Qt SDK nas plataformas Windows e Linux e como criar um primeiro programa "Olá Mundo" usando o Qt Creator.
Este documento apresenta os procedimentos para planejamento de uma instalação elétrica, incluindo desenho da planta baixa, previsão de cargas elétricas, símbolos para elementos de instalação e especificações técnicas para projeto.
Teclado curso completo - como tocar teclado - rafael harduimjoelsonmoreira
O documento discute a história do teclado e sintetizador, desde os primeiros modelos grandes e caros até os modelos mais acessíveis como o Minimoog. Também destaca figuras importantes como Robert Moog, Wendy Carlos e Keith Emerson na popularização do instrumento.
Este documento discute oportunidades de desenvolvimento para dispositivos Nokia, incluindo o Nokia Store, Qt SDK e Windows Phone. Ele destaca o alcance global da Nokia, ferramentas para criar interfaces ricas com QML e as vantagens de desenvolver para a plataforma Windows Phone como o Metro UI e novas APIs.
Aplicações de Inteligência Artificial em Rádios CognitivosRamon Mayor Martins
O documento discute as aplicações de inteligência artificial em rádios cognitivos, incluindo algoritmos de metaheurística, busca baseada em casos, lógica fuzzy, teoria dos jogos e redes neurais artificiais. Estas técnicas podem ser usadas para reconhecimento de modulação, handoff de espectro e adaptação de parâmetros do rádio.
Este documento apresenta a primeira aula de um minicurso sobre programação C++ com Qt. Nela, o instrutor ensina como instalar e configurar o ambiente de desenvolvimento necessário para compilar programas em C++ no Windows e no Linux. Ele também recomenda o uso do editor do Qt Creator para escrever o código.
O documento descreve a técnica de busca tabu, incluindo seu funcionamento, conceitos básicos e aplicação ao problema das n-rainhas. A busca tabu é uma metaheurística que melhora a busca local evitando movimentos repetidos através de uma lista tabu de soluções já visitadas.
O documento introduz três heurísticas para o problema de roteamento de veículos: a heurística de Clark e Wright, a heurística de Mole e Jameson e algoritmos genéticos. A heurística de Clark e Wright é rápida porém frágil, enquanto a de Mole e Jameson é mais lenta mas reduz fragilidades. Os algoritmos genéticos iniciam com rotas aleatórias e evoluem as rotas através de operadores genéticos para encontrar soluções ótimas.
METAHEURÍSTICA GRASP APLICADA AO PROBLEMA DO SEQUENCIAMENTO DE TAREFASJoao Gonçalves
Esse trabalho aborda o problema do sequenciamento (scheduling) de tarefas, que consiste no
estudo da ordem de entrada de diferentes tarefas a serem executadas em máquinas de produção.
Obter o melhor sequenciamento possível significa reduzir o tempo total de trabalho (makespan)
dessas máquinas, sendo esse o motivo desse trabalho. A solução adotada emprega o uso da
metaheurística GRASP, no qual os resultados serão mostrados nesse documento.
O documento discute o sistema de meta-objetos do Qt e como ele permite a comunicação entre C++ e QML através da geração automática de código pelo MOC. O MOC gera código que fornece recursos como reflexão de classes que permitem a criação e invocação dinâmica de objetos no Qt.
O documento discute várias ferramentas da qualidade como PDCA, MASP, estratificação, lista de verificação, gráfico de Pareto, diagrama de causa e efeito e histograma que podem ser usadas para identificar e resolver problemas de qualidade de forma sistemática.
O documento discute conceitos fundamentais de orientação a objetos em C++, incluindo:
1) Definição de classes e criação de objetos;
2) Membros públicos e privados de classes;
3) Construtores, destrutores e métodos de classes.
Heurística, Principios e Usabilidade na webDaniel Brandão
O documento discute os conceitos de usabilidade, princípios da heurística e design de interação para experiência do usuário. Aborda a definição de usabilidade como facilidade de uso, e seus aspectos na web como tornar as tarefas simples e eficientes. Também explica a avaliação heurística de Nielsen para testar interfaces com base em princípios como feedback e prevenção de erros.
This document describes functional pattern matching in different programming languages like Haskell, Erlang, Python, and Prolog. It introduces a Python library called Patterns that implements pattern matching via function decoration and AST transformation. The library allows matching different patterns in function arguments and assigning or evaluating expressions based on the matched patterns.
The document discusses why Python can be slow compared to other languages and provides tips for optimizing Python code. It explains that Python is an interpreted language and lacks type safety, which contributes to slower performance than compiled languages. However, Python includes tools like NumPy that optimize certain operations. The document recommends profiling code to identify bottlenecks, using appropriate data structures and algorithms, minimizing interpreter overhead through concurrency or C extensions, and as a last resort considering other languages. Overall it provides guidance on architectural choices, algorithms, memory usage, and language options to improve Python performance.
O documento descreve o Raspberry Pi, um computador do tamanho de um cartão de crédito que pode ser usado para aprender programação. Ele explica como o Raspberry Pi pode ser usado para diferentes propósitos em comparação com o Arduino, e fornece dicas sobre como configurar e programar o Raspberry Pi usando a linguagem Python.
This document introduces developing device-adaptive apps using KDE Plasma technologies. It discusses adapting the UI for different devices rather than simplifying for one, using reusable components, Qt Quick/QML for declarative UI development, and extending QML with C++. It also covers Plasma Quick for KDE/Plasma libraries, tools like Plasmate and Mer SDK, and getting help from the KDE community.
Dominando Modelos Ocultos de Markov com Python e GHMMDaker Fernandes
Este documento apresenta Modelos Ocultos de Markov (HMMs) e sua aplicação em problemas de processamento de sequências biológicas usando a biblioteca Python GHMM. O documento discute HMMs, exemplos de problemas em biologia computacional, e demonstra como resolver um problema de identificação de moedas usadas em um casino com HMMs e a biblioteca GHMM.
This document provides an overview of PySide and QtQuick. It discusses that PySide allows using Qt from Python and Qt is a cross-platform C++ library for building graphical user interfaces. It then covers topics like installing Qt and PySide, basic QtQuick examples like Hello World, using images and anchors, property binding, events, and behaviors. It also discusses integrating Python values into QML and using models and views with ListView.
O documento resume as principais características do MongoDB, um banco de dados NoSQL orientado a documentos e esquema-livre. Ele explica que o MongoDB é escalável, de alto desempenho e open source, armazena dados em formato de documentos JSON ou BSON, permite esquemas flexíveis e não requer migrations. Além disso, ressalta que as propriedades ACID ficam a cargo do programador e apresenta alguns comandos básicos para usar o MongoDB via terminal.
Este certificado confirma que Gabriel de Mattos Faustino concluiu com sucesso um curso de 42 horas de Gestão Estratégica de TI - ITIL na Escola Virtual entre 19 de fevereiro de 2014 a 20 de fevereiro de 2014.
As classes de modelagem podem ser comparadas a moldes ou
formas que definem as características e os comportamentos dos
objetos criados a partir delas. Vale traçar um paralelo com o projeto de
um automóvel. Os engenheiros definem as medidas, a quantidade de
portas, a potência do motor, a localização do estepe, dentre outras
descrições necessárias para a fabricação de um veículo
Em um mundo cada vez mais digital, a segurança da informação tornou-se essencial para proteger dados pessoais e empresariais contra ameaças cibernéticas. Nesta apresentação, abordaremos os principais conceitos e práticas de segurança digital, incluindo o reconhecimento de ameaças comuns, como malware e phishing, e a implementação de medidas de proteção e mitigação para vazamento de senhas.
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...Faga1939
Este artigo tem por objetivo apresentar como ocorreu a evolução do consumo e da produção de energia desde a pré-história até os tempos atuais, bem como propor o futuro da energia requerido para o mundo. Da pré-história até o século XVIII predominou o uso de fontes renováveis de energia como a madeira, o vento e a energia hidráulica. Do século XVIII até a era contemporânea, os combustíveis fósseis predominaram com o carvão e o petróleo, mas seu uso chegará ao fim provavelmente a partir do século XXI para evitar a mudança climática catastrófica global resultante de sua utilização ao emitir gases do efeito estufa responsáveis pelo aquecimento global. Com o fim da era dos combustíveis fósseis virá a era das fontes renováveis de energia quando prevalecerá a utilização da energia hidrelétrica, energia solar, energia eólica, energia das marés, energia das ondas, energia geotérmica, energia da biomassa e energia do hidrogênio. Não existem dúvidas de que as atividades humanas sobre a Terra provocam alterações no meio ambiente em que vivemos. Muitos destes impactos ambientais são provenientes da geração, manuseio e uso da energia com o uso de combustíveis fósseis. A principal razão para a existência desses impactos ambientais reside no fato de que o consumo mundial de energia primária proveniente de fontes não renováveis (petróleo, carvão, gás natural e nuclear) corresponde a aproximadamente 88% do total, cabendo apenas 12% às fontes renováveis. Independentemente das várias soluções que venham a ser adotadas para eliminar ou mitigar as causas do efeito estufa, a mais importante ação é, sem dúvidas, a adoção de medidas que contribuam para a eliminação ou redução do consumo de combustíveis fósseis na produção de energia, bem como para seu uso mais eficiente nos transportes, na indústria, na agropecuária e nas cidades (residências e comércio), haja vista que o uso e a produção de energia são responsáveis por 57% dos gases de estufa emitidos pela atividade humana. Neste sentido, é imprescindível a implantação de um sistema de energia sustentável no mundo. Em um sistema de energia sustentável, a matriz energética mundial só deveria contar com fontes de energia limpa e renováveis (hidroelétrica, solar, eólica, hidrogênio, geotérmica, das marés, das ondas e biomassa), não devendo contar, portanto, com o uso dos combustíveis fósseis (petróleo, carvão e gás natural).
2. Sobre mim...
ˆ É DAKER mesmo, não é apelido
ˆ Desenvolvedor Qt desde 2010
ˆ Formação: Graduando em Ciência da Computação @ CIn-UFPE
ˆ Experiência prossional: INdT
ˆ Software Livre :-)
ˆ Camisetas Brancas
3. Agenda
ˆ O que é Qt?
ˆ QtCreator
ˆ QtQuick
ˆ QML + Exercícios
ˆ Finalmentes
4. O que é Qt?
Framework cross-plataform e LGPL para desenvolvimento de software
18. O que é QtQuick?
ˆ Qt ≥ 4.7
ˆ QML: linguagem declarativa JavaScript-like
ˆ Qt Declarative: módulo C++
ˆ Suporte do Qt Creator
ˆ Guia QtQuick
ˆ Referência
19. QML - Hello World
helloworld.qml
import QtQuick 1.0
/* Hello World em QML */
Rectangle {
w i d t h : 360
h e i g h t : 360
Text {
id : text
a n c h o r s . c e n t e r I n : p a r e n t // A n c o r a s
t e x t : Hello World // P r o p r i e d a d e s
}
}
21. QML - Conceitos Básicos
ids.qml
i m p o r t QtQuick 1.0
Rectangle {
w i d t h : 2 0 0 ; h e i g h t : 200
Text {
id : t i t l e
anchors . top : parent . top
t e x t : World
}
Text {
anchors . bottom : p a r e n t . bottom
t e x t : Hello + t i t l e . t e x t
}
}
22. QML - Tipos Básicos
types.qml
Item {
w i d t h : 3 6 0 ; h e i g h t : 360 / / p r o p r i e d a d e s ' i n t '
Rectangle {
x : 2 0 . 5 ; y : 55.0 // p r o p r i e d a d e s ' real '
w i d t h : 2 0 0 ; h e i g h t : 200
c o l o r : red // p r o p r i e d a d e ' color '
Text {
x : 1 0 0 ; y : 20
t e x t : Hello // p r o p r i e d a d e ' string '
c o l o r : # FAF0B8 // rgb em hexa
}
}
}
23. QML - Rectangle
rectangle.qml
Rectangle {
w i d t h : 1 0 0 ; h e i g h t : 100
b o r d e r . c o l o r : red
border . width : 5
c o l o r : blue
r a d i u s : 20
smooth : t r u e
}
25. QML - Text
text.qml
Text {
w i d t h : 2 0 0 ; h e i g h t : 50
t e x t : Meu i Texto / i
c o l o r : black
e l i d e : Text . E l i d e R i g h t
w r a p M o d e : T e x t . WordWrap
font . bold : true
fo nt . f a m i l y : Helvetica
f o n t . p i x e l S i z e : 40
textFormat : Text . RichText
}
26. QML - Image
image.qml
Image {
id : image
w i d t h : 3 6 0 ; h e i g h t : 360
s o u r c e : ./ coral . png // p r o p r i e d a d e url
f i l l M o d e : Image . S t r e t c h
smooth : t r u e
Text {
t e x t : i m a g e . s t a t u s == I m a g e . R e a d y ?
Ready : Not Ready
f o n t . p i x e l S i z e : 32
}
}
27. QML - Mais Elementos Visuais
ˆ BorderImage
ˆ TextInput
ˆ TextEdit
ˆ Flickable
ˆ Mais..
28. QML - MouseArea
mouse.qml
Rectangle {
w i d t h : 3 0 0 ; h e i g h t : 300
c o l o r : blue
MouseArea {
anchors . f i l l : parent
// H a n d l e r do sinal clicked
onClicked : {
parent . color = red
}
}
}
29. Exercício 1
Crie a visualização das informações de uma espécie de ser vivo com as
seguintes informações:
ˆ Nome Cientíco
ˆ Foto
ˆ Descrição
30. QML - MouseArea
mouse.qml
Rectangle {
w i d t h : 3 0 0 ; h e i g h t : 300
c o l o r : blue
MouseArea {
anchors . f i l l : parent
// H a n d l e r do sinal clicked
onClicked : {
parent . color = red
}
}
}
33. QML - Exercício 2
Crie o seguinte comportamento no item do Exercício 1:
ˆ Quando a foto for clicada, o retângulo com as demais informações
desaparece
ˆ Quando a foto for clicada novamente, as informações reaparecem
34. QML - Criando meu próprios elementos
ˆ Arquivos QML são elementos!
ˆ Denindo Propriedades
ˆ property tipo nomeDaPropriedade [: valorDefault]
ˆ Propriedades alias
ˆ Sinais (signal)
ˆ Sinais propertyChanged
ˆ Métodos (function)
35. Exercício 3
Encapsule o item do Exercício 2 em um item (SpeciesInfo) com as
seguintes propriedades:
ˆ photo - imagem da espécie
ˆ species - o nome cientíco da espécie
ˆ description - um texto com uma breve descrição sobre a espécie
ˆ expanded - um booleano que dirá se a descrição está sendo mostrada
ou não
Faça com que somente a segunda parte do nome cientíco que em
negrito (utilize as tags b/b).
Para isso, crie uma função auxiliar.
36. QML - Estados e Animações
ˆ states, state
ˆ State
ˆ when
ˆ PropertyChanges
ˆ Transition
ˆ NumberAnimation
ˆ easing
ˆ Behavior
37. Exercício 4
Crie uma animação para fazer as informações de especie e descrição
aparecerem-desaparecerem do Elemento do Exercício 3.
ˆ Utilize estados
ˆ Tente animar utilizando a opacidade
38. Models e Views no QtQuick
São um mecanismo para lidar com conjuntos de dados.
ˆ Models mantém e manipulam os dados ou items
ˆ Views mostram os dados ou items
ˆ Utilizando delegates
39. QML - ListModel
É um modelo QML geralmente utilizado para prototipagem.
list.qml
ListModel {
ListElement {
ph ot o : coral . png
s p e c i e s : Chenopodium Ambrosioides
d e s c r i p t i o n : Lorem ipsum dolor sit amet
}
ListElement {
ph ot o : monera . png
s p e c i e s : Stachybotrys Chartarum
d e s c r i p t i o n : Vivamus libero lectus
}
}
40. QML - Components
São esquemas de objetos que são criados apenas quando necessários.
São utilizados pelas views para mostrar cada item.
ˆ Modularização
ˆ Economia de Memória (Lazy Evaluation)
ˆ Utilizado como delegate das Views QML
41. QML - Components
component.qml
Component {
id : speciesDelegate
SpeciesInfo {
w i d t h : 700
h e i g h t : 200
speciesName : species
descriptionText : description
photoUrl : photo
}
}
42. QML - Views
Elementos visuais que lêem a informação de um modelo e pintam cada
item através de seu delegate (um Component).
ˆ ListView
ˆ GridView
ˆ PathView
ˆ Repeater
listview.qml
ListView {
model : l i s t M o d e l I d
delegate : listModelDelegate
}
43. QML - Outros Models
Em QML podemos ter diversos tipos de Model.
ˆ Inteiros
ˆ Listas Javascript
ˆ Modelos C++
ˆ QStringList
ˆ QListQObject*
ˆ QAbstractItemModel
ˆ Modelos QML
ˆ ListModel
ˆ XmlListModel
ˆ Crie o seu!
44. Exercício 5
Crie um ListModel com as informações das espécies e utilize o elemento
do Exercício 4 como delegate para visualizá-los em uma lista.
45. Exercícios Extra
ˆ Faça uma vizualização do tipo grid apenas com as imagens e nome
das espécies
ˆ Crie um modelo C++ capaz de persistir/manipular os dados
ˆ Crie uma interface de cadastro de novas espécies
ˆ M.O.N.E.R.A.
46. Links Essenciais
ˆ QtQuick
ˆ Treinamento de QtQuick para Designers
ˆ Treinamento de QtQuick para Developers
ˆ Treinamento de Qt
ˆ Aprenda QtQuick
ˆ Referência QML
ˆ Documentação do Qt
ˆ Aprenda Javascript
ˆ Kunstformen der Natur Ernst Haeckel [Imagens Utilizadas nos
Exemplos]