Upload
elena-kotina
View
1.102
Download
10
Embed Size (px)
Citation preview
Qt Quickвозможности
для дизайнера и разработчика
Александр ТруфановSenior Technical ConsultantForum Nokia
[email protected] декабрь, 2010
© 2010 Nokia
Что такое Qt?• Qt (”кьют”) кроссплатформенный C++ фреймворк для разработки
приложений
– Набор кроссплатформенных API и кроссплатформенный GUI фреймворк
– Библиотека C++ классов
– Средства разработки
• Qt изначально проэктировался как эффективное средство разработки GUI приложений для десктопных платформ
• Разработан норвежской компанией Trolltech, ставшей частью Nokia в2008
• Последняя версия 4.7
© 2010 Nokia
Архитектура Qt• Qt имитирует родной стиль при отрисовке UI
– Элементы UI передают оригинальный
look & feel
– Может быть адоптирован разработчиком
• Построе на низкоуровневых API платформы
– Не runtime!
• Кроссплатформенный
– Один код для всех платформ
– Требуется лишь перекомпиляция
© 2010 Nokia
Qt 4.7• Qt 4.7: уже доступен!
– Включает в себя Qt Quick
– Интегрирует части Qt Mobility
– Сфокусирован на производительности
• 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
QML• UI описывается структурой элементов
– Значения свойств пересчитываются динамически
– Связь посредством
сигналов и слотов
– Взаимодействие с C++ кодом возможно
– Aнимирование свойст при помощи
состояний и переходов
Rectangle{
width: 200
height: 200
color: "white"
Image {
source: "pics/logo.png"
anchors.centerIn: parent
}
}
© 2010 Nokia
QML – мета-объектный язык Qt
© 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