桜、抹茶、白、日記

名古屋市在住のC++使いのcoderの日記だったもの。

Qt Conference - Tokyo 2009

Nokia主催のイベントに行ってきました。

Qt Conference - Tokyo 2009
http://qt.nokia.com/about-jp/events/qt-conference-tokyo-2009

発表資料及び動画は後日公開予定だそうです。2010/02/08に公開されました。

Qt Conference - Tokyo 2009 の動画
http://qt.nokia.com/resources-jp/Japanese_elearning/qt-conference-tokyo-2009-videos

Qt?ハァ?何それ美味しいの?って感じなのですが、当然ながら会社をサボって参加してきました。

[gihyo.jp] 「Qtはよりリッチに,開発効率を上げるため進化する」─Qt Conference Tokyo 2009開催
http://gihyo.jp/news/report/2009/12/1501

開場

Qtロゴ入りトートバッグ、Qtロゴ入りTシャツをゲット。

キーノートスピーチ

Qtの各バージョンにおける対応状況

    • Qt 4.5
    • Qt 4.6
      • Multi-Touch, Animation, jQuery, OpenVG*1対応。
    • Qt 4.7
      • Canvas-based UI, QML(The Qt Declarative UI language name)対応*2

新機能についてはLabsで情報が得られる。

http://labs.trolltech.com/page/Main_Page

Researchプロジェクトでは、SOAP/WSDL to C++なんて事をやっているらしい。

レーニングセッション

Qt Creator 1.3の使い方を学ぶセッション。Qt CreatorはQt SDKに含まれています。

Qt SDK
http://qt.nokia.com/downloads-jp

Qt Creator自体はちょっとさわった事があったのですが、Signal&Slotの概念及び、GUIの操作方法、画面リソースの設計方向が知りたかったので受講。色々と参考になりました。

昼休憩&デモ

幕の内弁当付きでした!

技術セッション:Qt 4.6新機能

プレゼン表示で使っているアプリが気になった。恐らくはQtで作成したアプリだと思いますが。

  • 新Platform対応

Symbian
(コミュニティサポート)QNX 6.4, VxWorks 6.7

  • Animation Framework

QObjectのプロパティを動的に変更する仕組み。

  • State Machine Framework

設定の保存はSCXML形式。

SCXML(State Chart XML)
http://www.w3.org/TR/scxml/

ステートの入れ子やクラスの拡張も可能。サンプルプログラムを参照。

  • Graphics Effect

ぼかし、影、色づけ、透明度のエフェクトが可能。

  • Multi-Touch & Gestures

タッチイベントはデフォルトでは通知されない。

Qt 4.6からはQtScriptもWebkit(JavaScriptCore)ベースに変更。概ね20倍程速くなった。

技術セッション:Qt Everywhere

Embedded Linux版のQtはその他のQtとはちょっと異なる点がある。

    • X11を使わずに直接FrameBufferを操作する
    • QWS(Qt Window System)
    • OpenGL | ES, OpenVG, DirectFB対応。

Qtの環境判定用マクロ定義 Q_OS_LINUX, Q_OS_WIN32等があるのでPlatformでコードを分ける場合に利用する。Qt for Embedded Linux without QWSの予定もあり。

休憩&デモ

おやつ及び飲み物が提供されて、まったり休憩していました。

技術セッション:Qt Creator でのデバッグと Squish/Qt による GUI 自動テスト

Qtのデバッグ用関数(qDebug, qWarning, qFatal)、マクロ(Q_ASSERT, Q_ASSERT_X)

Qt及びSTLのオブジェクトを分かり易く表示可能。

  • Squish/Qt
    • GUI操作の記録・再生・チェックポイント設定
    • アプリケーションの修正は不要(オブジェクトの座標ではなく名称で記録する)
    • PRELOADされるラッパー関数として実装されている
    • 独自のWidgetとして拡張している場合は、自分でラッパー関数を作成する必要がある(次期バージョンで対応予定)
    • 検査方法
      • プロパティ値チェック
      • 画面イメージ比較(Platformに依存する為、CrossPlatform間でのテストを行う場合は注意)

技術セッション:ローカライゼーション

Qtの国際化は、Unicode4.0が基本となっている。

  • 翻訳作業の段階
  • 翻訳フロー
    • 翻訳対象メッセージ(ソースコード上は基本英語)を「ts()」マクロで囲む
    • ビルド時に「〜.ts」ファイルを出力
    • 「〜.ts」ファイルを編集ツールのQt Linguistで翻訳。

翻訳ファイルは、別ファイルとする事も、実行ファイルに埋め込む事も可能。

抽選会

2GBのUSBメモリが15名、Nokiaの携帯電話が1名。自分はUSBメモリが当たりました。4GBだったらWindows7のインストール用とかに使えるのになぁ。