Your SlideShare is downloading. ×
QtQuick
QtQuick
QtQuick
QtQuick
QtQuick
QtQuick
QtQuick
QtQuick
QtQuick
QtQuick
QtQuick
QtQuick
QtQuick
QtQuick
QtQuick
QtQuick
QtQuick
QtQuick
QtQuick
QtQuick
QtQuick
QtQuick
QtQuick
QtQuick
QtQuick
QtQuick
QtQuick
QtQuick
QtQuick
QtQuick
QtQuick
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

QtQuick

858

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
858
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
30
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. t QtQuick Luís Gabriel Lima (lgnfl) Rafael Brandão (rbl)
  • 2. Agenda
  • 3. Agenda• O que é Qt?• Arquitetura do Qt• O que é QtQuick?• QML• Considerações finais
  • 4. O que é Qt?
  • 5. O que é Qt?• Qt é um framework C++ • desenvolvimento de aplicações cross-plataform • conjunto de APIs + GUI framework • biblioteca de classes C++ • ferramentas de desenvolvimento (IDE, build system, etc)• O Qt foi originalmente projetado para: • criação eficiente de programas desktop • GUI sendo esses programas com • e independentes de platorma• Trolltech (1991-2008), Nokia (2008-2011), Open Governance• Última versão: 4.7.4
  • 6. Arquitetura do Qt
  • 7. Arquitetura do Qt
  • 8. Módulo QtGui• Widgets “tradicionais”
  • 9. Graphics View Framework• Superfície para acesso rápido de itens gráficos • usa uma árvore BSP (Binary Space Partitioning) • permite propagação de eventos entre itens • visualização dos itens com suporte a zoom e rotações • visualização em tempo real de cenas com milhares de itens• Permite customização de itens, suportando: • tratamento de eventos (cliques, teclas, etc.) • agrupamento de itens (relação entre pai e filho, etc.) • detecção de colisões
  • 10. O que é QtQuick?
  • 11. O que é QtQuick?● Qt User Interface Creation Kit● QML● Qt Declarative● Qt Creator Tools● Objetivos: ● Criar UIs como um designer ● Sem conhecimento de C++ ● Poder de criação de interfaces flúidas
  • 12. QML
  • 13. QML (Qt Meta Language)• Descreve uma interface gráfica: • numa estrutura em árvore de bindings de propriedades • propriedades são avaliadas dinamicamente • comunicação é feita através do uso de sinais e slots • binding para código c++ é possível • animação de propriedades usando estados e transições
  • 14. QML• Linguagem declarativa baseada em javascript • expressa com bindings entre propriedades • estruturada em uma árvore de objetos
  • 15. QML• Contraste com uma linguagem imperativa • bindings de propriedades são expressões que são recalculadas sempre que o valor daquela propriedade muda • na imperativa, expressões são avaliadas uma única vez
  • 16. QML• Componentes • um documento QML descreve a estrutura de um componente • nome do componente é o nome do arquivo
  • 17. QML• Componentes • uma instância de um componente é criada durante a execução
  • 18. QML• Componentes • partes internas não são visíveis por padrão por outros • API definida através de propriedades, funções e sinais• Propriedades • podem ser referenciadas pelo nome (iniciado em minuscula) • uma expressão de propriedade que referencia outra estabelece um binding (ligação) • sempre que uma propriedade muda, todos os valores ligados a ela serão alterados
  • 19. QML• Propriedades • id são usadas para referenciar um objeto • list são um conjunto de elementos • default pode ser usada sem o nome (o atributo data a seguir)
  • 20. QML• Propriedades • propriedades públicas são especificadas com property • tipos: int, bool, real, string, point, rect, size, time, etc.
  • 21. QML• Propriedades • alias expõe uma propriedade interna para API pública •
  • 22. QML• Sinais • componentes podem emitir sinais que serão processados por signal handlers • signal handlers seguem a sintaxe onNomeDoSinal
  • 23. QML• Sinais • mudanças de propriedades podem ser ligadas a sinais • sintaxe: on<Propriedade>Changed • repare na letra maiscula em propriedade
  • 24. QML• Sinais • podem ser definidos sinais com a palavra signal
  • 25. QML• Funções •componente pode exportar funções que podem ser chamadas por outros componentes
  • 26. Considerações finais
  • 27. Links Úteishttp://doc.qt.nokia.com/latest/qtquick.htmlhttp://qt.nokia.com/learning/online/training/materials/qt-quick-for-designers/http://doc.qt.nokia.com/latest/qdeclarativeelements.htmlhttp://blog.qtlabs.org.br/http://www.qt-project.org/
  • 28. Vídeoshttp://www.youtube.com/watch?v=rqt7vM_vP3ohttp://www.youtube.com/watch?v=LTDJrMu24b8http://circus.indt.org/http://www.youtube.com/watch?v=k5gMAMSz77Qhttp://www.youtube.com/watch?v=eyXuECm7OFQhttp://www.youtube.com/watch?v=UfLwZnTGcnAhttp://www.youtube.com/watch?v=KLQD2jYS-XUhttp://www.youtube.com/watch?v=b1eNx9Qmdcc
  • 29. Referênciashttp://www.slideshare.net/tillinslidet/qtquick-day-1http://www.slideshare.net/elenakotina/qt-quick-qmlhttp://blog.qt.nokia.com/2010/02/15/meet-qt-quick/http://blog.qtlabs.org.br/2011/10/07/qml-restful-web-services/
  • 30. Thats all folks, thank you! :-)
  • 31. t QtQuick Luís Gabriel Lima (lgnfl) Rafael Brandão (rbl)

×