« Android、はじめました | トップページ | Ver.1.0.3 リリース »

2015年6月26日 (金)

タッチパネル向けの実装 その1

前回の検証で対応が必要と思われる機能がまずは4つ程ありそうなことが分かりました。


1. ソフトウェアキーボード、マウスボタン

2. ピンチアウト、ピンチインによる拡大縮小

3. 画面の回転制御

4. 画面レイアウト(メニューバー、ステータスバーの見せ方)の再考


まずは基本的なところで「画面レイアウト(メニューバー、ステータスバーの見せ方)の再考」を検討します。
画面の小さいタブレット、スマホだとメニューバーやステータスバーを常に表示しておくのはあまりよくなさそうです。

ということでメニューバー、ステータスバーの表示/非表示を制御する機能があればいろいろと融通が効きそうです。
あと、もしかしたら使うかもしれないのでついでに内部的にフレームレスなウィンドウにするためのフラグを設けておきます。iPhoneやAndoirdだと自動的にフレームレスになると思うので使わないかも知れませんけど。

QMainWindowクラスを継承したMainWindowクラス内で

// show or hide
menuBar()->setVisible(true);
statusBar()->setVisible(true);

と設定すれば表示されますし、

// show or hide
menuBar()->setVisible(false);
statusBar()->setVisible(false);

と設定すれば非表示になります。「表示(Display)」メニューを新規に追加し、この制御をメニューでそれぞれ選択できるようにしました。


[メニューバー表示/ステータスバー表示のウィンドウ例]

20150626_165656


[メニューバー表示/ステータスバー非表示のウィンドウ例]

20150626_165704


[メニューバー非表示/ステータスバー非表示のウィンドウ例]

20150626_165710


[メニューバー非表示/ステータスバー非表示(フレームレス)のウィンドウ例]

20150626_172722


ただし、現状GUI上でメニューバーを再表示する手段がないので気をつけなければいけません(^_^;
# .iniを手動で書き換えれば復帰できます。


(*) Windows 8.1 update上で、ALT+PrintScreenキーでウィンドウショットを取得しているのですが、右端の数ピクセルが左端に回りこんでいるのは私の環境だけでしょうか(^_^; 次回からWinShotを使うようにします…


次は、ソフトウェアキーボード、マウスボタン(左,右,ホイール)について検討します。

とりあえず日本語キーボードレイアウトは、KeroRemoteをお手本にしようかと思います。
英語キーボードはうーん…

« Android、はじめました | トップページ | Ver.1.0.3 リリース »

コメント

コメントを書く

コメントは記事投稿者が公開するまで表示されません。

(ウェブ上には掲載しません)

トラックバック


この記事へのトラックバック一覧です: タッチパネル向けの実装 その1:

« Android、はじめました | トップページ | Ver.1.0.3 リリース »