11
Qt Quick возможности для дизайнера и разработчика Александр Труфанов Senior Technical Consultant Forum Nokia [email protected] декабрь, 2010

Qt Quick - новые возможности для дизайнера и разработчика

Embed Size (px)

Citation preview

Page 1: Qt Quick - новые возможности для дизайнера и разработчика

Qt Quickвозможности

для дизайнера и разработчика

Александр ТруфановSenior Technical ConsultantForum Nokia

[email protected] декабрь, 2010

Page 2: Qt Quick - новые возможности для дизайнера и разработчика

© 2010 Nokia

Что такое Qt?• Qt (”кьют”) кроссплатформенный C++ фреймворк для разработки

приложений

– Набор кроссплатформенных API и кроссплатформенный GUI фреймворк

– Библиотека C++ классов

– Средства разработки

• Qt изначально проэктировался как эффективное средство разработки GUI приложений для десктопных платформ

• Разработан норвежской компанией Trolltech, ставшей частью Nokia в2008

• Последняя версия 4.7

Page 3: Qt Quick - новые возможности для дизайнера и разработчика

© 2010 Nokia

Архитектура Qt• Qt имитирует родной стиль при отрисовке UI

– Элементы UI передают оригинальный

look & feel

– Может быть адоптирован разработчиком

• Построе на низкоуровневых API платформы

– Не runtime!

• Кроссплатформенный

– Один код для всех платформ

– Требуется лишь перекомпиляция

Page 4: Qt Quick - новые возможности для дизайнера и разработчика

© 2010 Nokia

Qt 4.7• Qt 4.7: уже доступен!

– Включает в себя Qt Quick

– Интегрирует части Qt Mobility

– Сфокусирован на производительности

• http://qt.nokia.com/developer/qt-roadmap

Page 5: Qt Quick - новые возможности для дизайнера и разработчика

© 2010 Nokia

Qt Quick (Qt User Interface Creation Kit)• Создавайте UI как дизайнер

– Без знания C++

– Исользуя язык QML

(расширение над JavaScript)

– При помощи визуальных

инструментов

– Модуль: Declarative UI

– Поддержка SVG, XHR, HTML5

Web DB

Page 6: Qt Quick - новые возможности для дизайнера и разработчика

© 2010 Nokia

QML• UI описывается структурой элементов

– Значения свойств пересчитываются динамически

– Связь посредством

сигналов и слотов

– Взаимодействие с C++ кодом возможно

– Aнимирование свойст при помощи

состояний и переходов

Rectangle{

width: 200

height: 200

color: "white"

Image {

source: "pics/logo.png"

anchors.centerIn: parent

}

}

Page 7: Qt Quick - новые возможности для дизайнера и разработчика

© 2010 Nokia

QML – мета-объектный язык Qt

Page 8: Qt Quick - новые возможности для дизайнера и разработчика

© 2010 Nokia

Использование Qt Declarative и QML• Запуск qml при помощи qmlviewer

• Либо встраивание в Qt приложение:

Page 9: Qt Quick - новые возможности для дизайнера и разработчика

© 2010 Nokia

Интеграция с существующим UI• UI на основе QWidget

• UI на основе QGraphicsView:

Page 10: Qt Quick - новые возможности для дизайнера и разработчика

© 2010 Nokia

Интеграция с С++ кодом• Возможность создания C++ плагинов для qml

• Взаимодействие при помощи контекстных свойств и объектов:

• Сигналы при изменении свойств контекстных объектов.

• Вызов public слотов и Q_INVOKABLE методов объектов из QML.

• Прямой вызов javascript функций

Page 11: Qt Quick - новые возможности для дизайнера и разработчика

© 2010 Nokia

Qt Quick Components

http://gitorious.org/qt-components