Qt Quick...Qt Quick とは • Qt Quick (Qt Quick User Interface Creation Kit) • Qt 4.7 と Qt...

22
Qt Quick ハイレベルアニメーションユーザインターフェース 株式会社 SRA

Transcript of Qt Quick...Qt Quick とは • Qt Quick (Qt Quick User Interface Creation Kit) • Qt 4.7 と Qt...

Qt Quickハイレベルアニメーションユーザインターフェース

株式会社 SRA

自己紹介• 杉田研治• 株式会社 SRA (http://www.sra.co.jp) 勤務• 1996 年 - Qt を知る• 1999 年 - 開発に使用• 2002 年 -トレーニング開始• 2003 年 - サポート開始• Qt 関連著書二冊、翻訳書二冊、雑誌記事

Qt Quick とは• Qt Quick (Qt Quick User Interface Creation Kit)

• Qt 4.7 と Qt Creator 2.1 で導入予定

• Qt の新しい UI フレームワーク

• 容易なダイナミックユーザ UI 作成

• Symbian と MeeGo のプライマリー UI

リリースヒストリー• 2008 - リサーチプロジェクト• 2009 - Kinetic Project として公開。2010/2/12 が最後のリポジトリーアクセス。

• 2009/12 - Qt 4.6 でリリース予定であったが。• 2009/12/14 - Qt 4.6.0 のみで動くものがリリース4.6.1~4.6.3 向けにも出る予定であったが。

• 2010 夏~秋 - Qt 4.7.0 の機能としてリリース予定

Qt Quick の構成

• QML (Qt Meta-Object Language)

宣言的 UI 記述言語。

• QtDeclarative Module

• Qt Creator

• QML Viewer

QML

• 目的ユーザインターフェースをデザインするグラフィカルデザイナーとプログラマーが共同で開発する際に、JavaScript ベースの QML 言語を介して、両者の垣根を取り払って、協力して開発を進め易くする。

QML

• JavaScript をベースGraphics View、State Machine、Animation、プロパティバインディング、ネットワーク透過性などの拡張。

• Qt の Meta-Object 機能でデザイナーと開発者とを橋渡し、高度に協調した開発を可能にする

• アニメーション化された滑らかな UX を実現

QtDeclarative Module

• QML を実行するエンジン

QML を Graphics View に翻訳。

• Qt/C++ とQML を結合

相互利用可能。

• Qt/C++ を使う開発者用

Qt Creator

• Qt/C++ の開発ツールとしてリリース

• Qt Creator 2.1 で、QML にも対応予定

• QML テキストエディタ

• QML デバッガ

• Qt Quick Designer (4.7 ではプレビューリリース)

QML の GUI エディタ。

QML Viewer

• QML スクリプトを実行

$ qmlviewer hello.qml

• Qt Creator での QML 実行でも呼出される

QML のベース技術

• Qt に最初から備わっているもの• Object System• Meta Object

• Qt 4.2• Graphics View

• Qt 4.3• JavaScript Module

• Qt 4.6• Animation Framework• State Machine Framework• Graphics Effects

Animation Framework

• Qt のプロパティを動的に変更することによって、動きのある GUI を作る機能

• State Machine Framework と合わせて使用可能

• どの QObject のプロパティでもアニメーション可能

• アニメーションのグループ化

• イージンクカーブを使用可能

State Machine Framework

• Qt のシグナルとイベントによってドライブされるハレルのステートチャート

• アプリケーションの動作の意味付けを簡明化• 動作の形式化による保守性の向上• アプリケーションロジック記述の検証可能化

Graphics Effects• ぼかし、影、色付け、透明度などのグラフィカルなエフェクトを QGraphicsView や QWidget に適用してユーザインターフェースを視覚的に際立たせたり、強調させる

• 任意のペイントデバイスにエフェクトを適用可能• よく使われるエフェクトはビルトイン済• 独自のエフェクトを追加拡張可能

QML デモ

Qt Creator デモ

ターゲット• モーバイル• スマートフォン• ハンドセット• ネットブック• 車載端末

• 非モーバイル• CAD• 内視鏡• 高機能大型複合機• GIS• 高解像度スキャナー

• デスクトップ

Nokia モーバイルプラットフォームQt の最終位置付け

アプリケーションとサービス ~ Ovi API

ユーザインターフェース ~ ~

開発フレームワーク Java ウェブ - Qt WRTネィティブ - Qt

プラットフォーム Series 40 Symbian MeeGo

ハードウェア ~ ~ ~

注) 灰色の各層は、Symbian と MeeGo のプラットフォームで共通になる。

Nokia モーバイルプラットフォームQt プラットフォームロードマップ

2010 年 2011 年

Qt を部分的に  全アプリケーションをQt で

Symbian^3Maemo(Linux X11)

Symbian^4MeeGo

(Maemo + Moblin)

注) Maemo は、MeeGo に包含される。

Nokia モーバイルプラットフォームQt プラットフォーム API ロードマップ

Qt 4.6Qt QuickQt 4.7

Qt UI ExtensionQt QuickQt 4.8(Symbian^4)

Qt Mobility API1.0

Qt Mobility API1.1

Qt Mobility API2.0

Symbian C++

増やして行く

減らして行く

注) Qt UI Extension は、Qt Quick で作られた GUI コンポーネント集。

Qt Quick トレーニング

• 開発者向けトレーニング

7/19 リリース。モジュール追加予定。

• デザイナー向けトレーニング

Developer Days 前にリリース。

• ありがとうございました。