組み込みでのGUIアプリケーションは、ウィンドウシステムがない環境で動き、組み込みボードやタッチパネルなどの小型表示装置が用いられることが多いため、これまでは興味があっても簡単に手が出せませんでした。しかし最近は、Linux環境でフレームバッファが利用できるようになり、デスクトップマシンで組み込みGUIを体験できるようになっています。本連載では、Qt/Embeddedを使って、Linuxデスクトップマシンで組み込みのGUIプログラミングを体験します。
本連載では、全3回の予定で、Qt/Embeddedの導入からチューニング、テストとデバッグを扱います(図1)。具体的には表1のようになります。
| 回 | タイトル | 内容 |
|---|---|---|
| 第1回 | Qt/Embeddedを使う | Qt/Embeddedの概要とインストールの詳細を説明し、簡単なプログラムを、ウィンドウシステムを動かさずにフレームバッファ上で実行します |
| 第2回 | カスタマイズとチューニング | TIFF形式イメージ、フォントの追加、アイコンや効果音のコードへの埋め込みなど機能面でのカスタマイズ、およびライブラリサイズの削減、起動時間の短縮、描画速度のチューニングについて説明します |
| 第3回 | テストとデバッグ | 開発パターン、テストの自動化、デバッグテクニックについて、Qtに特有の方法を説明します。全体を通して、Qtでのアプリケーション作成方法よりも、組み込み向けにQtを使う方法に重点を置いて説明します。連載で扱う範囲は図1のようになります |
| 表1 連載の予定 | ||
Qtは、Trolltech(http://www.trolltech.com/)が開発したマルチプラットフォームC++ GUIツールキットで、UNIX/Linux、Windows、Mac OS X、Embedded Linuxをターゲットとしています(図2)。簡明で直交性と柔軟性が高いAPIが提供されているため、単独プラットフォームがターゲットでも、アプリケーションの作成に十分な機能を持ちます。このほかにもいろいろな特徴がありますが、全ソースコードが提供されること、そして、ソフトウェア開発者にとって、そのアーキテクチャを納得し、楽しく使えるというのが一番の特徴です。
図3はQtのGUI部分の構成で、プラットフォーム依存レイヤーは表2のように実装されています。
| プラットフォーム依存レイヤー | 説明 |
|---|---|
| Qt/X11 | UNIX/LinuxのX11で、Xlibで実装されている |
| Qt/Windows | Windows 95/98/Me/NT/2000/XP/2003で、Win32とGDIで実装されている |
| Qt/Mac OS X | Mac OS X 10.1/10.2/10.3で、CarbonとCocoaで実装されている |
| Qt/Embedded | 上記のデスクトップのQtの機能をEmbedded Linuxでそのまま使えるようにしたもので、フレームバッファを直接アクセスして描画を行う |
| 表2 Qtのプラットフォーム依存レイヤー | |
GUIツールキット: GUIアプリケーションを開発する際に利用できるライブラリ。ウィンドウやボタン、確認ダイアログなど、利用しやすい単位でライブラリ関数が用意されている。主なものに、GNOMEで利用されているGtk+2、KDEで利用されているQt、Xウィンドウ全般で利用されているMotifなどがある。
Copyright(c)2010 SOFTBANK Creative Inc. All rights reserved.