Nov 17, 2009

Qt の stackable windows で遊んでみた

N900 の Maemo 5 から、メイン画面の右上の方に「戻る」のボタンがついて、複数画面を行ったり来たりすることができるようになった。

例えば、アプリを起動すると最初に機能一覧のあるメイン画面が表示され、どれか選ぶと画面全体が切り替わって、選択した機能に関する別のメイン画面に切り替わる。「戻る」ボタンを押すと、最初の機能一覧画面に戻る。そんな画面遷移を実現するのが stackable windows の機能(多分)。

Qt for Maemo にもその機能が実装済みなのでそれを使って少し遊んでみた。

ついでにメイン画面一杯に QWebKit を貼り付けて web クライアントっぽくしてみた。アクセス先は自宅サーバーにセットアップした rep2 。

menu まずは最初の画面。メニュー一覧の表示。お気に入り板の一覧や、その他の機能のリンク一覧。下の方にスクロールすると当然板の一覧が表示される。

ポイントはここが最初の画面になってるので、アプリの右上の方がバツ印になってること。

thread 次は「お気にスレ」を選んだ状態。画面全体が切り替わって、スレッドの一覧が表示される。

ここでのポイントはアプリの右上の方が先ほどとは違って矢印になってること。これを押すと、画面全体が切り替わって先ほどのメニュー一覧に戻る。

threadmainスレッド一覧からどれかひとつ選ぶと、 さらに画面が切り替わってスレッドの中身を表示する画面へと移動することができる。ここでもアプリの右上の方は矢印になっていて、これを押すと先ほどのスレッド一覧に戻る。

各画面はそれぞれ独立した QMainWindow なのでそれぞれの画面に応じてアプリのメニューを持たせることが簡単。

今回、このスクリーンショットを取るために QWebKit から直接 URL を指定してアクセスしているので、いちいち画面全体を切り替えることなく普通に web ブラウザでアクセスしてるように操作することが可能だが、取得した画面を整形したり、オリジナルの rep2 には無い機能を持たせたりする場合、それぞれの画面ごとに処理を分けたほうがいいかなぁ、ということで stackable windows を使ってみた。画面切り替え時のアニメーションもカッコいいし ^^;

あとは取得したページをそのまんま表示するのではなく、間に処理を入れてついでにキャッシュすることで、ある程度操作はオフラインでもできるようになるかなぁと思ってる。

それだったら直接 dat ファイル持ってきて全部クライアント側で処理すりゃいいじゃん、って話もあるんだがそれだと1から全部やらなきゃいけなくなるので、それはそれで大変。

もちろん N800 用に rep2 をカスタマイズしたときみたいに、N900 のデフォルトブラウザでちゃんと動くように rep2 を改造するという方法もありなんだが、ぶっちゃけその方法はもう飽きたのだ。

ということで、しばらくはこの Qt を使った方法で遊んでみようかと思う。


Related Info.

Comments

No comments yet

Add Comments

※下記の単語・フレーズはコメントで使用できません。大文字・小文字は同一視します。
poker, backgammon, tramadol, casino, insurance, loans

OpenID を使ってログインすることができます。

Identity URL:

Trackbacks

トラックバック
このエントリにトラックバックはありません
このトラックバックURLを使ってこの記事にトラックバックを送ることができます。 もしあなたのブログがトラックバック送信に対応していない場合にはこちらのフォームからトラックバックを送信することができます。.
visitor stats