Upload
codefest
View
1.568
Download
3
Embed Size (px)
Citation preview
Qt Quickвозможности
для дизайнера и разработчика
Александр ТруфановSenior Technical ConsultantForum Nokia
[email protected] март, 2011
© 2010 Nokia
Почему Qt• Qt (”кьют”) кроссплатформенный C++ фреймворк для разработки приложений
• Qt имитирует родной стиль при отрисовке UI
– Элементы UI передают оригинальный
look & feel
– Может быть адоптирован разработчиком
• Построе на низкоуровневых API платформы
– Не runtime!
• Кроссплатформенный
– Один код для всех платформ
– Требуется лишь перекомпиляция
© 2010 Nokia
Qt 4.7.2• Qt 4.7: уже доступен!
– Включает в себя Qt Quick
– Интегрирует части Qt Mobility 1.1.1
– Сфокусирован на производительности
• http://qt.nokia.com/developer/qt-roadmap
© 2010 Nokia
Qt Quick (Qt User Interface Creation Kit)• Создавайте UI как дизайнер
– Без знания C++
– Исользуя язык QML
(расширение над JavaScript)
– При помощи визуальных
инструментов
– Модуль: Declarative UI
– Поддержка SVG, XHR, HTML5
Web DB
© 2010 Nokia
Photoshop to QML exporter
© 2010 Nokia
QML• UI описывается структурой элементов
– Значения свойств пересчитываются динамически
– Связь посредством
сигналов и слотов
– Взаимодействие с C++ кодом возможно
– Aнимирование свойст при помощи
состояний и переходов
Rectangle{
width: 200
height: 200
color: "white"
Image {
source: "pics/logo.png"
anchors.centerIn: parent
}
}
© 2010 Nokia
QML – мета-объектный язык Qt
10 LOC
130 LOC
© 2010 Nokia
Использование Qt Declarative и QML• Запуск qml при помощи qmlviewer
• Либо встраивание в Qt приложение:
© 2010 Nokia
Интеграция с существующим UI• UI на основе QWidget
• UI на основе QGraphicsView:
© 2010 Nokia
Интеграция с С++ кодом• Возможность создания C++ плагинов для qml
• Взаимодействие при помощи контекстных свойств и объектов:
• Сигналы при изменении свойств контекстных объектов.
• Вызов public слотов и Q_INVOKABLE методов объектов из QML.
• Прямой вызов javascript функций
© 2010 Nokia
Qt Quick Components
http://gitorious.org/qt-components
V#-Filename.ppt / 3/18/2011 © 2009 Nokia 12