ホーム | すべてのクラス | 主要なクラス | 注釈付きクラス一覧 | グループ別クラス | 関数一覧

Qt/Embedded アプリケーションの実行

Qt/Embedded アプリケーションを実行するにはマスターアプリケーションが動作しているか、 そのアプリケーション自身がマスターアプリケーションである必要があります。 マスターアプリケーションは自分でトップレベルウインドウ領域、ポインタ、キーボードの入力の管理を行います。

QApplication オブジェクトを QApplication::GuiServer タイプで作成するか、 コマンドラインオプション -qws をつけて実行すれば、 どの Qt/Embedded アプリケーションもマスターアプリケーションになることができます。

このドキュメントは Linux のフレームバッファの設定が正しくされていて、 マスタープロセスが動作していないことを仮定しています。 Linux のフレームバッファが動作しない場合、 Qt/Embedded バーチャルフレームバッファを使うか、 VNC サーバとして Qt/Embedded を実行します。

Linux コンソールに戻り、実行するサンプルプログラムを選択します。例 : examples/widgets。 $QTDIR が Qt/Embedded がインストールされているディレクトリに設定され、 $LD_LIBRARY_PATH に $QTDIR/lib ディレクトリを追加されていることを確かめてください :

export QTDIR=$HOME/qt-VERSION
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH

-qws オプションをつけてアプリケーションを実行します:

cd $QTDIR/examples/widgets
./widgets -qws

ウィジェットの例が表示されるはずです。マウスが正しく動作しない場合、 使用するマウスのタイプを指定する必要があります。 Ctrl+Alt+Backspace を押すことでいつでもマスターアプリケーションを終了できます。

さらにアプリケーションを実行したければ -qws オプションをつけずにクライアントとして実行する必要があります。

ディスプレイ

Qt/Embedded では、 複数のマスタープロセスを動作させることによって同時に複数のディスプレイを使うことができます。 コマンドラインパラメータ -display もしくは環境変数 $QWS_DISPLAY を使って利用できます。

パラメータ -display のシンタックス :

    [gfx ドライバ][:ドライバ固有のオプション][:ディスプレイ番号]
例えば mach64 ドライバを fb1 上で ディスプレイ 2 として使う場合:
    $ ./launcher -display Mach64:/dev/fb1:2

この機能を試すには以下を実行します :

  1. VC 1 に切り替えてランチャを実行します :

        $ cd examples/launcher
        $ ./launcher
    

  2. VC 2 に切り替えてもう一つランチャを実行します :

        $ cd examples/launcher
        $ ./launcher -display :1
    

    もう一つランチャが起動します。このランチャの中でアプリケーションを実行します。

  3. Ctrl+Alt+F1 を押してディスプレイ 0 に戻ります。 ディスプレイ ID を指定することでそれぞれのディスプレイでさらにアプリケーションを起動することができます。 VC 3 に切り替えます :

        $ cd examples/widgets
        $ ./widgets -display :1
    

    ウィジェットの例がディスプレイ :1 (VC 2) に表示されます。

マスタープロセスのみドライバ/デバイスの部分を明示的に指定する必要があります。 クライアントは必要な情報を接続時にマスターから受け取ります。 したがってマスターサーバを特定のドライバで一度起動すれば、 ディスプレイ n を使用するには "client -display :n" とするだけでかまいません。

マウス入力

これを書いている時点で、Qt/Embedded は MouseMan (default), Microsoft, IntelliMouse や その他のいくつかのハードウェア特有のデバイス (Vr タッチパネルなど) をサポートしています。 使用するマウスは環境変数 $QWS_MOUSE_PROTO で指定してください :

export QWS_MOUSE_PROTO=IntelliMouse

Qt/Embedded ポインタ処理もご覧ください。


Copyright © 2002 TrolltechTrademarks
Qt version 3.0.4