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
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
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
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.