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

CodeFest 2011. Труфанов А. — QT Quick. Возможности для дизайнера и разработчика

Embed Size (px)

Citation preview

Page 1: CodeFest 2011. Труфанов А. — QT Quick. Возможности для дизайнера и разработчика

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

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

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

[email protected] март, 2011

Page 2: CodeFest 2011. Труфанов А. — QT Quick. Возможности для дизайнера и разработчика

© 2010 Nokia

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

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

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

look & feel

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

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

– Не runtime!

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

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

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

Page 3: CodeFest 2011. Труфанов А. — QT Quick. Возможности для дизайнера и разработчика

© 2010 Nokia

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

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

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

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

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

Page 4: CodeFest 2011. Труфанов А. — QT Quick. Возможности для дизайнера и разработчика

© 2010 Nokia

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

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

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

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

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

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

– Модуль: Declarative UI

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

Web DB

Page 5: CodeFest 2011. Труфанов А. — QT Quick. Возможности для дизайнера и разработчика

© 2010 Nokia

Photoshop to QML exporter

Page 6: CodeFest 2011. Труфанов А. — 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: CodeFest 2011. Труфанов А. — QT Quick. Возможности для дизайнера и разработчика

© 2010 Nokia

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

10 LOC

130 LOC

Page 8: CodeFest 2011. Труфанов А. — QT Quick. Возможности для дизайнера и разработчика

© 2010 Nokia

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

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

Page 9: CodeFest 2011. Труфанов А. — QT Quick. Возможности для дизайнера и разработчика

© 2010 Nokia

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

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

Page 10: CodeFest 2011. Труфанов А. — QT Quick. Возможности для дизайнера и разработчика

© 2010 Nokia

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

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

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

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

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

Page 11: CodeFest 2011. Труфанов А. — QT Quick. Возможности для дизайнера и разработчика

© 2010 Nokia

Qt Quick Components

http://gitorious.org/qt-components

Page 12: CodeFest 2011. Труфанов А. — QT Quick. Возможности для дизайнера и разработчика

V#-Filename.ppt / 3/18/2011 © 2009 Nokia 12