特集
» 2004年12月18日 10時00分 公開

UNIX USER1月号「デスクトップで動かす・学ぶQt/Embedded」より転載:Qt/Embeddedのインストール――第1回 フレームバッファでQtアプリ(その3) (2/5)

[杉田研治,UNIX USER]

動作確認

 まず、仮想フレームバッファで動作確認しましょう。次のようにしてqvfbを起動*し、メニューの「File」→「Configure」で表示されるダイアログで、フレームバッファのサイズを640×480ドットに設定します。

$ qvfb &

 どれかのサンプルコードをコンパイルし、次のように実行すると図4のように表示されます。

$ cd $QTDIR/examples/hello
$ make
$ ./hello -qws -display QVFb
図4 図4 examples/helloの実行(クリックで拡大します)

 次に、コンソールでフレームバッファを使っての動作確認です。このためには、OSとQtのいろいろな設定が必要です。以降で順を追って説明しましょう。

Qt/Embedded特有の環境変数

 Qt/Embeddedに関するドキュメントは、リファレンスマニュアルのリスト4のセクションに集められています。ここにあるドキュメントはQt/Embeddedを扱ううえでの必要事項がまとめられているので、一度は目を通しておきましょう。

リスト4 Qt/Embeddedに関するドキュメント
「All Overviews and HOWTOs」(3列2段目のOverviewsの囲みの先頭)
→2列3段目の「Qt/Embedded」の囲み

 「Qt/Embedded environment variables」に、Qt/Embeddedに特有な環境変数の説明があります。とくに重要なのは、次の3つの環境変数です。

  • QWS_MOUSE_PROTO
  • QWS_KEYBOARD
  • QWS_DISPLAY

  • QWS_MOUSE_PROTO

 QWS_MOUSE_PROTOは、マウスまたはタッチパネルの設定で、リモコン操作機器などを除きほとんどの場合に必要となります。値は、「<マウスタイプ>:<マウスデバイス>」形式で指定します。マウスタイプは自動検出の「Auto」あるいは次の中から選べます。

Bus、IntelliMouse、LinuxTP、MouseMan、
Microsoft、MouseSystems、Qnx、VR41xx、Yopy

 Autoはデバイスをスキャンした際に弊害が出る場合があるので、明示的なマウスタイプの指定をお勧めします。たとえばPS/2接続のホイールマウスの場合は「IntelliMouse:/dev/mouse」のように設定します。なお、Qt/Embeddedはマウスホイールには対応していません*

  • QWS_KEYBOARD

 QWS_KEYBOARDはキーボードの設定で、キーボードがないターゲット環境では不要です。値は「<キーボードタイプ>:<デバイス>」形式で指定します。キーボードタイプは次の中から選択できます。

Qnx、SL5000、TTY、USB、VR41XX、YOPY

 たとえばPS/2接続の通常のキーボードでは、「TTY:/dev/tty0」のように設定します。

  • QWS_DISPLAY

 QWS_DISPLAYはディスプレイの設定です。ターゲット環境では正しく設定すべきですが、連載ではコマンドラインの「-display」オプションで指定するので、この環境変数は設定しません。値は表13から選択できます。

 たとえば「QVFb」、「LinuxFb」、「LinuxFb:/dev/fb0」のように設定します。

表13 QWS_DISPLAYに設定できる値
説明
LinuxFb Linuxのフレームバッファ。通常はこれを指定する
Mach64 Mach64チップを使ったビデオカード
Matrox Matrox製チップを使ったビデオカード
VNC VNCサーバー。開発用
ShadowFb 描画時、いったんシャドウフレームバッファに描画データを書き込んでからビデオメモリにコピーするオプション。これがオフになっていると、直接ビデオメモリに書き込む。PCIやAGPスロットにビデオカードを差している場合、システムの仮想メモリへ書き込むときより速度が遅い。このようなケースで本オプションをオンにする
snap SciTechのSNAP汎用アクセラレータ
Transformed 90度、180度、270度の回転したLinuxのフレームバッファ。それぞれ、「Transformed:Rot90」、「Transformed:Rot180」、「Transformed:Rot270」と設定する
QnxFb リアルタイムOS QNXのフレームバッファ
QVFb 仮想フレームバッファ。X11上での実行時に指定する
Repeater QTimerを使ったリピート処理を行う場合に使用
VGA16 互換性の高い標準的なチップVGA16互換モード
Voodoo3 Voodoo3チップを使ったビデオカード

このページで出てきた専門用語
qvfbを起動
qvfbの詳しい使用方法は、第3回で説明。

Qt/Embeddedはマウスホイールには対応していません
Qtの古いバージョンでは、マウスホイールを動かすとハングする。最近のバージョンでは、マウスホイールイベントを無視するように修正されているので問題ない。


Copyright(c)2010 SOFTBANK Creative Inc. All rights reserved.

注目のテーマ