SlideShare uma empresa Scribd logo
Tchê Linux Pelotas 2014 1
Introdução ao QML
Luis Gustavo S. Barreto
<gustavosbarreto@gmail.com>
Tchê Linux Pelotas 2014 2
O que é QML?
●
É uma linguagem declarativa para descrever
elementos de interface gráfica
●
Permite o uso de JavaScript para
implementar a lógica de alto nível da interface
gráfica
Tchê Linux Pelotas 2014 3
QML
=
Tchê Linux Pelotas 2014 4
Contextualização
●
QML vs. Qt Quick
●
Qt Quick é uma coleção de tecnologias para
criar interfaces em QML
●
QML faz parte do Qt Quick, que por sua vez
é integrante do Framework Qt
Tchê Linux Pelotas 2014 5
Um pouco de história
●
Criado em 1995 pela Trolltech
●
Em 1997 o KDE passou a utilizar Qt
●
Em 2001 se tornou multi-plataforma
●
Em 2005 foi lançado a Qt4
●
Em 2008 foi adquirida pela Nokia e
vendida em 2011 para a Digia
●
Em 2010 foi lançado o Qt Quick/QML
Tchê Linux Pelotas 2014 6
O Framework Qt
É um framework multiplataforma para desenvolvimento
de aplicações em C++
●
Containers: Listas, Vetores, ...
●
Classes para comunicação entre sockets, leitura e
escrita de arquivos, manipulação de strings, acesso a
banco de dados, parser XML e JSON, manipulação de
threads, recursos multimídia, renderizador HTML
●
Conjunto de elementos gráficos (Botões, caixas de
texto, rótulos, …)
Tchê Linux Pelotas 2014 7
Qt Quick
É uma coleção de tecnologias para criar
interfaces para aplicações desktop, mobile e
dispositivos embarcados
●
QML, a linguagem
●
Creator Tools (Qt Creator), o IDE
Tchê Linux Pelotas 2014 8
Plataformas Mobile
Tchê Linux Pelotas 2014 9
A linguagem QML
●
É descrita com uma estrutura em arvore de
objetos e bindings de propriedades
●
As propriedades são avaliadas
dinâmicamente, ou seja, são recalculadas
sempre que o valor muda
●
A comunicação entre os objetos é feita através
do uso de sinais e slots
Tchê Linux Pelotas 2014 10
Exemplo QML
Rectangle {
id: retangulo
width: 200
height: 200
color: areaMouse.pressed ? "red" : "blue"
MouseArea {
id: areaMouse
anchors.fill: parent
}
}
Tchê Linux Pelotas 2014 11
Exemplo QML e JavaScript
Rectangle {
id: retangulo
width: 200
height: 200
MouseArea {
id: areaMouse
anchors.fill: parent
onClicked: {
var cores = [ 'red', 'green', 'blue' ];
var i = Math.floor((Math.random()*cores.length)+0);
retangulo.color = cores[i];
}
}
}
Tchê Linux Pelotas 2014 12
Elementos
●
Gráficos
– Rectangle – Um retângulo
– Image – Para incorporação de imagens
●
Texto
– Text – Para inserção de textos
– TextInput – Para capturar entrada do teclado
●
Posicionadores
– Column – Arranja seus filhos verticalmente
– Row – Arranja seus filhos horizontalmente
– Grid – Posiciona seus filhos em um grid
Tchê Linux Pelotas 2014 13
Posicionamento baseado em
âncoras
Cada objeto possui 7 linhas âncoras que
permitem o relacionamento entre linhas âncoras
de outros objetos.
Tchê Linux Pelotas 2014 14
Exemplo de ancoragem
Rectangle { id: r1; color: "blue" }
Rectangle {
color: "red";
anchors.left: r1.right;
anchors.top: r1.bottom;
}
Tchê Linux Pelotas 2014 15
Model, View e Delegate
●
Model – Contém dados estruturados
●
View – Um container que exibe os dados
●
Delegate – Define como um dado deve ser
apresentado na view
Tchê Linux Pelotas 2014 16
Legal, e agora?
●
Site oficial: www.qt-project.org
●
Documentação: http://qt-project.org/doc
●
Fórum: www.qtcentre.org
●
Site com códigos fonte: www.qt-apps.org
Tchê Linux Pelotas 2014 17
Perguntas?
Tchê Linux Pelotas 2014 18
Obrigado!
Luis Gustavo S. Barreto
<gustavosbarreto@gmail.com>
www.github.com/gustavosbarreto

Mais conteúdo relacionado

PDF
QtQuick
PDF
Introdução ao Qt
PDF
Qt Apresentação
PDF
Qt tchelinux-2010
PDF
Jogos em Qt
PDF
Qt Techday - João Pessoa
PDF
Introdução ao Qt
PDF
QtQuick
Introdução ao Qt
Qt Apresentação
Qt tchelinux-2010
Jogos em Qt
Qt Techday - João Pessoa
Introdução ao Qt

Destaque (20)

PDF
Utilizando o recurso de camera dos smartphones da Nokia usando qt
PDF
QTestLib: Criando unit tests inteligentes para projetos baseados em Qt
PDF
Trabalhando com aplicações qt no net beans
PDF
Revista qt 4
PDF
Tutorial api qt
PDF
QtQuick - WSL II
PDF
Instalações elétricas prática - SENAI
PDF
Teclado curso completo - como tocar teclado - rafael harduim
PPTX
TDC Goiânia, WP7 e Qt
PDF
Opengl aula-01
PPT
Aplicações de Inteligência Artificial em Rádios Cognitivos
PDF
Busca tabu
PPTX
Aplicação Algorítimo Genético
PDF
METAHEURÍSTICA GRASP APLICADA AO PROBLEMA DO SEQUENCIAMENTO DE TAREFAS
PDF
Mágica com qt’s meta object system
PDF
Apostila ferramentas QT
PDF
Curso avançado de c++ em portugues
Utilizando o recurso de camera dos smartphones da Nokia usando qt
QTestLib: Criando unit tests inteligentes para projetos baseados em Qt
Trabalhando com aplicações qt no net beans
Revista qt 4
Tutorial api qt
QtQuick - WSL II
Instalações elétricas prática - SENAI
Teclado curso completo - como tocar teclado - rafael harduim
TDC Goiânia, WP7 e Qt
Opengl aula-01
Aplicações de Inteligência Artificial em Rádios Cognitivos
Busca tabu
Aplicação Algorítimo Genético
METAHEURÍSTICA GRASP APLICADA AO PROBLEMA DO SEQUENCIAMENTO DE TAREFAS
Mágica com qt’s meta object system
Apostila ferramentas QT
Curso avançado de c++ em portugues
Anúncio

Semelhante a Introdução ao QML (20)

PDF
Kde para iniciantes - Camila Ayres
PDF
O Qt e sua atuação no desenvolvimento desktop, mobile, embarcado e para IoT
PDF
Introdução ao qt
PDF
Desenvolvimento orientado a objetos com C++ e QT4 - Henrique Marks
PDF
Minicurso Node-RED.pdf
PPTX
Acelerando sua startup com kubernetes
PPTX
Uma introdução à Computação Quântica com Q#
PDF
Programacao de macros_com_libre_office_basic_slideshare
PDF
Programação de Macros com LibreOffice Basic
PDF
Programação de Macros com LibreOffice Basic
PDF
Webinar: Qt: um toolkit, um código-fonte, múltiplas plataformas
PPTX
Orquestrando Containers na Nuvem com o Azure Kubernetes Service - ThorArch #1...
PDF
Desenvolvendo Widgets QML para o KDE Plasma
PDF
Palestra do FISL15: QtModeling: Metamodelagem e Model-Driven Software Enginee...
PDF
Desenvolvendo Aplicações Android com Qt
PPTX
Domain Driven Design
PDF
c-gui-programming-with-qt-4-2ndedition -Cap1e2
PDF
KDE EDU - Linux Educacional
PDF
KDE Edu & Linux Educacional: como o Projeto KDE, o Linux e o Software Livre p...
Kde para iniciantes - Camila Ayres
O Qt e sua atuação no desenvolvimento desktop, mobile, embarcado e para IoT
Introdução ao qt
Desenvolvimento orientado a objetos com C++ e QT4 - Henrique Marks
Minicurso Node-RED.pdf
Acelerando sua startup com kubernetes
Uma introdução à Computação Quântica com Q#
Programacao de macros_com_libre_office_basic_slideshare
Programação de Macros com LibreOffice Basic
Programação de Macros com LibreOffice Basic
Webinar: Qt: um toolkit, um código-fonte, múltiplas plataformas
Orquestrando Containers na Nuvem com o Azure Kubernetes Service - ThorArch #1...
Desenvolvendo Widgets QML para o KDE Plasma
Palestra do FISL15: QtModeling: Metamodelagem e Model-Driven Software Enginee...
Desenvolvendo Aplicações Android com Qt
Domain Driven Design
c-gui-programming-with-qt-4-2ndedition -Cap1e2
KDE EDU - Linux Educacional
KDE Edu & Linux Educacional: como o Projeto KDE, o Linux e o Software Livre p...
Anúncio

Último (7)

PDF
apresentacao introducao computacao ead.pdf
PPTX
Curso de Windows 11 resumido na prática.pptx
DOC
CODIGO PARA AUTOMATIZAR A JOGABILIDADE SUPER MARIO
DOC
COMO AUTOMATIZR JOGOS SUPER NINTENDO ATRAVES DA PROGRAMAÇÃO
PDF
Evolução em código: algoritmos genéticos com PHP
PPTX
Mapeamento de Objeto para Tabela Relacional
PDF
Dos requisitos ao código: como criar código rastreável em PHP
apresentacao introducao computacao ead.pdf
Curso de Windows 11 resumido na prática.pptx
CODIGO PARA AUTOMATIZAR A JOGABILIDADE SUPER MARIO
COMO AUTOMATIZR JOGOS SUPER NINTENDO ATRAVES DA PROGRAMAÇÃO
Evolução em código: algoritmos genéticos com PHP
Mapeamento de Objeto para Tabela Relacional
Dos requisitos ao código: como criar código rastreável em PHP

Introdução ao QML

  • 1. Tchê Linux Pelotas 2014 1 Introdução ao QML Luis Gustavo S. Barreto <gustavosbarreto@gmail.com>
  • 2. Tchê Linux Pelotas 2014 2 O que é QML? ● É uma linguagem declarativa para descrever elementos de interface gráfica ● Permite o uso de JavaScript para implementar a lógica de alto nível da interface gráfica
  • 3. Tchê Linux Pelotas 2014 3 QML =
  • 4. Tchê Linux Pelotas 2014 4 Contextualização ● QML vs. Qt Quick ● Qt Quick é uma coleção de tecnologias para criar interfaces em QML ● QML faz parte do Qt Quick, que por sua vez é integrante do Framework Qt
  • 5. Tchê Linux Pelotas 2014 5 Um pouco de história ● Criado em 1995 pela Trolltech ● Em 1997 o KDE passou a utilizar Qt ● Em 2001 se tornou multi-plataforma ● Em 2005 foi lançado a Qt4 ● Em 2008 foi adquirida pela Nokia e vendida em 2011 para a Digia ● Em 2010 foi lançado o Qt Quick/QML
  • 6. Tchê Linux Pelotas 2014 6 O Framework Qt É um framework multiplataforma para desenvolvimento de aplicações em C++ ● Containers: Listas, Vetores, ... ● Classes para comunicação entre sockets, leitura e escrita de arquivos, manipulação de strings, acesso a banco de dados, parser XML e JSON, manipulação de threads, recursos multimídia, renderizador HTML ● Conjunto de elementos gráficos (Botões, caixas de texto, rótulos, …)
  • 7. Tchê Linux Pelotas 2014 7 Qt Quick É uma coleção de tecnologias para criar interfaces para aplicações desktop, mobile e dispositivos embarcados ● QML, a linguagem ● Creator Tools (Qt Creator), o IDE
  • 8. Tchê Linux Pelotas 2014 8 Plataformas Mobile
  • 9. Tchê Linux Pelotas 2014 9 A linguagem QML ● É descrita com uma estrutura em arvore de objetos e bindings de propriedades ● As propriedades são avaliadas dinâmicamente, ou seja, são recalculadas sempre que o valor muda ● A comunicação entre os objetos é feita através do uso de sinais e slots
  • 10. Tchê Linux Pelotas 2014 10 Exemplo QML Rectangle { id: retangulo width: 200 height: 200 color: areaMouse.pressed ? "red" : "blue" MouseArea { id: areaMouse anchors.fill: parent } }
  • 11. Tchê Linux Pelotas 2014 11 Exemplo QML e JavaScript Rectangle { id: retangulo width: 200 height: 200 MouseArea { id: areaMouse anchors.fill: parent onClicked: { var cores = [ 'red', 'green', 'blue' ]; var i = Math.floor((Math.random()*cores.length)+0); retangulo.color = cores[i]; } } }
  • 12. Tchê Linux Pelotas 2014 12 Elementos ● Gráficos – Rectangle – Um retângulo – Image – Para incorporação de imagens ● Texto – Text – Para inserção de textos – TextInput – Para capturar entrada do teclado ● Posicionadores – Column – Arranja seus filhos verticalmente – Row – Arranja seus filhos horizontalmente – Grid – Posiciona seus filhos em um grid
  • 13. Tchê Linux Pelotas 2014 13 Posicionamento baseado em âncoras Cada objeto possui 7 linhas âncoras que permitem o relacionamento entre linhas âncoras de outros objetos.
  • 14. Tchê Linux Pelotas 2014 14 Exemplo de ancoragem Rectangle { id: r1; color: "blue" } Rectangle { color: "red"; anchors.left: r1.right; anchors.top: r1.bottom; }
  • 15. Tchê Linux Pelotas 2014 15 Model, View e Delegate ● Model – Contém dados estruturados ● View – Um container que exibe os dados ● Delegate – Define como um dado deve ser apresentado na view
  • 16. Tchê Linux Pelotas 2014 16 Legal, e agora? ● Site oficial: www.qt-project.org ● Documentação: http://qt-project.org/doc ● Fórum: www.qtcentre.org ● Site com códigos fonte: www.qt-apps.org
  • 17. Tchê Linux Pelotas 2014 17 Perguntas?
  • 18. Tchê Linux Pelotas 2014 18 Obrigado! Luis Gustavo S. Barreto <gustavosbarreto@gmail.com> www.github.com/gustavosbarreto