検索
特集

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

Qt/Embeddedを使って、Linuxデスクトップマシンで組み込みのGUIプログラミングを体験する本連載。今回はQt/Embeddedのインストールの後、動作確認を行い、デスクトップ上でフレームバッファを使用してプログラムが動かせるまでを解説します。

PC用表示 関連情報
Share
Tweet
LINE
Hatena
前のページへ |       

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

 最後に、連載を通して用いるサンプルプログラムについて説明しておきましょう。作るのは画像ファイルのビューワです。

ファイル構成

 ファイルビューワの最初のバージョンは、表14のようなファイル構成となります。今回作成するプログラムは、次のWebページからダウンロードできます。ソースコードも長くないので、ぜひ動かしたり改造したりしてみてください。

http://www.unixuser.jp/info/#200501

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

プログラムのビルド手順と動作確認

 プログラムのビルドは次の手順でできます。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

 コマンドラインの第1パラメータに何も指定しないとデフォルトの画像が表示され、画像ファイルを指定するとそのファイルが表示されます。このプログラムの実行例は図5のようになります。

図5
図5 画像ビューワプログラム(第1版)の実行例(クリックで拡大します)

サンプルプログラムの説明

 サンプルプログラム(リスト7)の要点を説明します。

 まず15行目です。.proのIMAGESで指定した画像が、ソースコードとしてqmake_image_collection.cppに取り込まれます。取り込まれた画像は、ファイル名をキーにしてQPixmap::fromMimeSource()を呼ぶことで取得できます。このときの画像の形式はpixmapです。

 次は43行目です。PictureWidget::paintEventは再描画が必要なときに呼ばれる仮想メンバー関数です。変数event中には、再描画が必要な矩形集合の情報が入っています。

 最後は44〜47行です。PictureWidget::paintEventでは、新たに画面上に現れて、再描画が必要になった矩形領域のみを、オフラインに保持した画像から再表示しています。こうすると、すでに表示している領域は再描画されないので、若干ながら表示効率が良くなります。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

 第1回は、Qt/Embeddedを用いて、デスクトップ上でフレームバッファを使用してプログラムが動かせるまでを中心に説明しました。次回は、カスタマイズとチューニングを中心に説明します。サンプルプログラムもタイトルバーが付くなどグレードアップします。また、TIFF形式プラグインの機能追加や組み込みらしくタイトルバーなしの全画面表示や、ソフトウェアマウスカーソルの非表示などを実装します。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

前のページへ |       

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

ページトップに戻る