Qt Developer Days 2011 in Munich Day2 セッション @task_jp さんまとめ

ドイツのミュンヘンで開催中のQt Developer Days 2011 Day2 技術セッションを@task_jpさんが実況した内容をまとめました。アジェンダはこちら http://goo.gl/cea7a Scene Graph, Qt Quick 2.0 などなど盛りだくさん。
5
Tasuku Suzuki @task_jp

ドーナツが3Dになってうまそうwwww #qtdd11

2011-10-25 20:54:02
Tasuku Suzuki @task_jp

Qt Quick for The Desktop はじまた #qtdd11

2011-10-25 21:18:25
Tasuku Suzuki @task_jp

ネイティブの見た目のコンポーネント、ウィンドウとダイアログ、メニューとショートカット、ツールチップ、ホイール、カーソル、レイアウトなどに対応しないといけない #qtdd11

2011-10-25 21:21:22
Tasuku Suzuki @task_jp

既存のモバイルのコンポーネントの API では足りない。 #qtdd11

2011-10-25 21:21:47
Tasuku Suzuki @task_jp

QStyle ベース、デスクトッププラットフォーム間での互換性が必要、、、現在はラボプロジェクトで決まったプランはない。 #qtdd11

2011-10-25 21:23:45
Tasuku Suzuki @task_jp

import QtDesktop 0.1 で Button とかが使えるようになる。詳細はギャラリーや http://t.co/3a1Se0uD などを参照 #qtdd11

2011-10-25 21:25:49
Tasuku Suzuki @task_jp

MeeSpot をデスクトップアプリ化してみよう!w #qtdd11

2011-10-25 21:28:32
Tasuku Suzuki @task_jp

ルートウインドウは ApplicationWindow 要素で。その中にコンテンツのリストや再生などのコントロールを置いて… #qtdd11

2011-10-25 21:30:04
Tasuku Suzuki @task_jp

まずは TableView http://t.co/c1cvXn0N を使って一覧表示。ライブコーディングしててまわりから様々なツッコミがw #qtdd11

2011-10-25 21:31:37
Tasuku Suzuki @task_jp

import QtSpotify 1.0 をして spotify.user.playlists をモデルに指定すると実際のデータがテーブルに表示されると。 #qtdd11

2011-10-25 21:32:46
Tasuku Suzuki @task_jp

(QtQuick の) SystemPalette 要素で背景色を設定。SplitterRow 要素で2つのテーブルを左右に表示させる。この場合個々の要素のアンカーは削除、Splitter.minimumWidth: 100 とサイズの制限を設定できる #qtdd11

2011-10-25 21:35:54
Tasuku Suzuki @task_jp

variant 型のプロパティを追加して現在のプレイリストを保持。プレイリストオブジェクトの tracks プロパティを右側のツリービューのモデルに設定するだけで左がプレイリストの一覧、右にその中のトラックの一覧が表示される。うん、簡単w #qtdd11

2011-10-25 21:38:36
Tasuku Suzuki @task_jp

次はツールバーにコントロールボタンを置く。ApplicationWindow の toolBar プロパティに ToolBar 要素を設定、個々のボタンは ToolButton で定義。アイコンは iconName でテーマから取ってくる。おー、いい! #qtdd11

2011-10-25 21:40:41
Tasuku Suzuki @task_jp

戻る/進むの処理は onClicked: spotify.playPrevious/Next() 、ツールバーのレイアウトは RowLayout を使うと QLayout のようなレイアウトができる。 #qtdd11

2011-10-25 21:43:04
Tasuku Suzuki @task_jp

サーチ用の入力エリアは TextField を使う。 #qtdd11

2011-10-25 21:44:10
Tasuku Suzuki @task_jp

TableView の onClicked で再生。すげーーーーーーーー簡単!!! #qtdd11

2011-10-25 21:46:38
Tasuku Suzuki @task_jp

サーチやアルバムアートも API があって、UI の方は数行の変更でどんどん対応が可能。 #qtdd11

2011-10-25 21:49:00
Tasuku Suzuki @task_jp

うーん、こんだけ簡単に次々とできていくと、UI と機能を分離しておけばモバイル向けとデスクトップ向けの Component の API が統合されるメリットよりも専用の機能にちゃんと対応しているメリットの方が大きいかもなぁ。 #qtdd11

2011-10-25 21:54:18
Tasuku Suzuki @task_jp

QWidget のようにウィンドウの大きさ(最小サイズ)をレイアウトに応じて変えたりもできると。 #qtdd11

2011-10-25 21:55:55
Tasuku Suzuki @task_jp

あとは細かい機能を色々実装していくのかな、ステータスバーも簡単、レイアウトをちょっと変えてアルバムアートのサイズを調整するのも簡単。あとは何をすればいい?とか聞く余裕もある。 #qtdd11

2011-10-25 21:58:41
Tasuku Suzuki @task_jp

Desktop 向けの Component のリリースなどについてはまだなにも約束できない。一人でパートタイムでやってるだけなので。興味がある人がいれば試してバグの報告や修正、機能の貢献などは *大歓迎* #qtdd11

2011-10-25 22:06:53
Tasuku Suzuki @task_jp

DatePicker などの QWidget にはあるけどまだ実装してないものもあるし、ダイアログなどまだまだ不安定なものもある。API も全然固まってはいないよ。 #qtdd11

2011-10-25 22:08:50
Tasuku Suzuki @task_jp

StyleItem.desktop(Desktop.platform になるかも) によってプラットフォーム毎の調整もできるよ。API はまだ確定してないけど。 #qtdd11

2011-10-25 22:12:12
Tasuku Suzuki @task_jp

あれはできる?これはできる?という質問の度にインクリメンタルにアプリケーションがさらに実装されていく。このセッションはでてよかったなw #qtdd11

2011-10-25 22:12:58