Qt 導入手引書 - 株式会社SRA

Qt 導入手引書
(X11)
2009 年 12 月 25 日
第5版
株式会社 SRA
目次
1
2
3
Qt のインストール .......................................................................................................... 3
1.1
インストール準備 .................................................................................................... 3
1.2
インストール手順 .................................................................................................... 4
1.3
インストールファイル ............................................................................................. 6
1.4
アンインストール手順 ............................................................................................. 8
Qt の簡単な使い方 ......................................................................................................... 9
2.1
サンプルプログラムの実行方法 ............................................................................ 10
2.2
開発手順..................................................................................................................11
Qt を習得するには ....................................................................................................... 15
3.1
Qt に付属の情報 .................................................................................................... 16
3.2
Qt に関する書籍 ................................................................................................... 18
3.3
Qt の情報源........................................................................................................... 19
改訂履歴 ............................................................................................................................... 20
Copyright (C) 2006-2009 Software Research Associates, Inc. All Rights Reserved
2
1 Qt のインストール
この文書では Qt を単体インストールする手順について説明します。
1.1 インストール準備
インストールする前に、以下の手順にしたがってインストール前の準備を行ってください。
(1) ユーザ権限
ユーザ権限の
権限の確認
Qt を root 権限が必要な場所にインストールする場合、 root もしくは root 権限を持っ
たユーザのアカウントとパスワードが必要です。
(2) Qt の入手
Qt のソースコードを、Qt Development Frameworks のサイトからダウンロードして入
手します。
バージョン番号を 4.6.0 とすると、Qt のソースコードファイル名は次のようになってい
ます。
項目
Qt ソースコード
ファイル名
qt-everywhere-commercial-src-4.6.0.tar.gz
※「Qt SDK」 をインストールする場合 qt-sdk-linux-x86-commercial-YYYY.xx.bin をダウンロードし
ます。この場合、以降のドキュメントの説明で用いている上記の単体インストールとは手順、インスト
ールされる構成、内容が異なる部分がありますのでご注意ください。
(3) ライセンシー名
ライセンシー名、ライセンスキーの
ライセンスキーの確認
インストール時に、ライセンスキーを入力する必要があります。次のような記述を含む
案内メールが送られてきますので、Name 及び License Key をご確認ください。
(ライセンス情報)
Name: Taro Yamada
Company name: Software Research Associates, Inc., Japan
License Key: AAAABBB--CCC
CCC--DDD
DDD--EEEEAAAA-BBB
EEEE-FFFFFFFFFF-GGGGG
Period:2010/2/1
3
1.2 インストール手順
(1) Qt ソースコードアーカイブ
ソースコードアーカイブの
アーカイブの展開
次のコマンドを実行し、Qt ソースコードを適当なパスに展開します。
$ tar xzvf qt-everywhere-commercial-src-4.6.0.tar.gz
展開すると、qt-everywhere-commercial-src-4.6.0 というディレクトリができますので、
そこへ移動します。
$ cd qt-everywhere-commercial-src-4.6.0
(2) configure
お使いのマシンの環境に合わせた Makefile を作成するために、configure スクリプトを
実行します。
$ ./configure
上記のように実行する場合、Qt のインストール先は /usr/local/Trolltech/Qt-4.6.0 にな
ります。インストール先のディレクトリ構成は次のようになります。
/usr/local/Trolltech/Qt-4.6.0/bin/
doc/
examples/
インストール先を、例えば、/usr/local/qt/Qt-4.6.0 以下に変更したい場合は、次のように
configure を実行します。
$ ./configure –prefix /usr/local/qt/Qt-4.6.0
この場合、インストール先のディレクトリ構成は次のようになります。
/usr/local/qt/Qt-4.6.0/bin/
doc/
examples/
4
configure スクリプトでは、-prefix 以外にも、いろいろなオプションを指定できます。
configure を次のように実行すると、指定可能なオプションの一覧が表示されます。
$ ./configure –help
(3) Commercial Edition の選択
configure スクリプト実行時に、Commercial Edition 又は Open Source Edition の利用
を選択する必要があります。以下のメッセージが表示されたら “c”キーを押下し、
Commercial Edition の利用を選択してください。
Type ‘c’ if you want to use the Commercial Edition.
Type ‘o’ if you want to use the Open Source Edition.
(4) ライセンスキーの
ライセンスキーの入力
次に、ライセンスキーを入力する必要があります。以下のメッセージが表示されたら 案
内メールに記載された License Key を入力してください。
Please enter your license key:
又は、下記の内容をライセンスファイルとして $HOME/.qt-license に配置することによ
り、configure スクリプトがその内容を自動で読み込みますので、入力が不要になります。
Licensee="Taro Yamada"
LicenseKeyExt=AAAA-BBB-CCC-DDD-EEEEE-FFFFF-GGGG
(5) make
configure が終了したら、次のコマンドを実行して、Qt をビルドします。
$ make
(6) make install
Qt をビルドできたら、次のコマンドを実行して、Qt をインストールします。必要に応
じて、root 権限で実行して下さい。
$ make install
5
(7) PATH の設定
Qt のインストール先が /usr/local/Trolltech/Qt-4.6.0 である場合、Qt のプログラムを作
成するために必要なツールやその他のコマンド(qmake、moc、uic、designer、assistant
など)は、/usr/local/Trolltech/Qt-4.6.0/bin に置かれますので、それらのコマンド群があ
るディレクトリを、環境変数 PATH に含める必要があります。
次の一行を、$HOME/.bashrc に書き足して下さい。
export PATH=/usr/local/Trolltech/Qt-4.6.0/bin:${PATH}
なお、csh 系のシェルをお使いの場合は、$HOME/.login に次の行を追加して下さい。
setenv PATH /usr/local/Trolltech/Qt-4.6.0/bin:${PATH}
1.3 インストールファイル
インストールされたファイルについて記載します。ここでは、インストール先をトップデ
ィレクトリとした場合のサブディレクトリ単位で代表的なものについてのみ記載します。
(1) bin ディレクトリ
Qt が提供する各種コマンド・ツール、Qt ライブラリ本体が格納されています。代表的
なツールは以下の通りです。
assistant (ドキュメントブラウザ)
designer (GUI レイアウトツール)
linguist (ローカライズ支援ツール)
qmake (ビルドルール生成コマンド)
qtdemo (デモンストレーションランチャ)
lupdate (ローカライズ対象フレーズ抽出コマンド)
lrelease (ローカライズファイル変換コマンド)
moc (メタオブジェクトコンパイラ)
uic (ユーザインタフェースコンパイラ)
(2) demos, examples ディレクトリ
デモンストレーションプログラム(demos)とサンプルプログラム(examples)が格納され
ています。
6
(3) doc ディレクトリ
Qt のドキュメントが格納されています。
html サブディレクトリ以下に HTML 形式で格
納されています。
(4) include ディレクトリ
インクルードファイルが格納されています。include ディレクトリ以下は、モジュール毎
にサブディレクトリが作成・分類されています。
(5) lib ディレクトリ
アプリケーションのビルド時に必要なライブラリ等が格納されています。
(6) mkspecs ディレクトリ
プラットフォーム、コンパイラ固有の設定ファイルが格納されています。
(7) plugins ディレクトリ
プラグイン形式のライブラリが格納されています。プラグインの用途毎に格納されるサ
ブディレクトリが分類されています。
(8) translations ディレクトリ
Qt ライブラリ本体内で使用されているフレーズについての翻訳ファイルとロード可能モ
ジュールファイルが格納されています。
7
1.4 アンインストール手順
アンインストールするには、
「1.1 インストール手順」で make install を実行したディレ
クトリで、次のコマンドを実行します。必要に応じて、root 権限で実行してください。
$ make uninstall
8
2 Qt の簡単な使い方
ここでは、Qt ソースコードを使用してのアプリケーション開発方法についてご説明します。
まずは、付属のサンプルプログラムの実行方法についてご説明します。その後、Qt API を
使用した Qt アプリケーションの実装方法、ビルド方法、実行方法についてご説明します。
9
2.1 サンプルプログラムの実行方法
Qt には数多くのサンプルプログラムが含まれています。Qt ソースコードのインストール
後、以下の方法で付属のサンプルプログラムを実行することが出来ます。
Qt をインストールしたトップディレクトリを /usr/local/Trolltech/Qt-4.6.0 とした場合、
以下のディレクトリ内にサンプルプログラムがカテゴリごとに分類されて置かれています。
/usr/local/Trolltech/Qt-4.6.0/examples
例えば、/usr/loca/Trolltech/Qt-4.6.0/examples/widgets/calculator には、計算機のプログ
ラムがあります。これを起動するには、次のようにします。
$ cd /usr/local/Trolltech/Qt-4.6.0/examples/widgets/calculator
$ ./calculator
次のようなウィンドウが表示されます。
10
2.2 開発手順
ここでは、Qt を使用したプログラム開発における手順について説明します。
Qt を使用したプログラムのソースファイルを作成し、ビルド、実行する一般的な手順は次
のようになります。
(1) プロジェクトディレクトリの作成
(2) ソースファイルの作成・編集
(3) プロジェクトファイルの作成・編集
(4) ビルドルールの作成
(5) ビルド
(6) 実行
この手順の例として、Qt を使用した簡単なプログラムを最初から作成してみます。ここで
は、
“Hello World!”と言う文字列が書かれたボタンを表示するプログラムを作成します。以
下で手順を説明します。
(1) プロジェクトディレクトリの
プロジェクトディレクトリの作成
実行可能ファイルやライブラリ等を作成するための単位を“プロジェクト”と呼びます。
プロジェクトは実装ファイルやヘッダファイル、リソースファイル等で構成されます。
まずは、これらのファイルを格納するためのディレクトリを作成します。
以下のコマンドを実行します。
$ mkdir hello
(2) ソースファイルの
ソースファイルの作成・
作成・編集
プロジェクトディレクトリへ移動します。
$ cd hello
ここに、必要なソースファイルやヘッダファイルなどを、テキストエディタを使用して
作成します。今回はこのフォルダ内にソースファイル“main.cpp”を以下の内容で作成
します。
11
#include <QApplication>
#include <QPushButton>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QPushButton hello("Hello world!");
hello.resize(100, 30);
hello.show();
return app.exec();
}
(3) プロジェクトファイルの
プロジェクトファイルの作成
プロジェクトファイルとは、プロジェクトをビルドするために必要な情報が記述された
ファイルです。また、その内容はプラットフォーム非依存なものになります。プロジェ
クトファイルを基に、各プラットフォーム上でビルドするためのビルドルールが記述さ
れたファイルを生成することができます。
プロジェクトファイルを手動で記述することもできますが、Qt ではプロジェクトのフォ
ルダ内の情報から自動的にプロジェクトファイルを生成する方法も提供しています。自
動的にプロジェクトファイルを生成するには以下のコマンドを実行します。
$ qmake -project
“qmake”コマンドにオプション引数“-project”を付けて実行すると、プロジェクトフ
ォルダ内に収められたファイルの情報を読み込み、それらをビルドするためのプロジェ
クト情報として、デフォルトのプロジェクトファイルが生成されます。デフォルトのプ
ロジェクトファイルは、プロジェクトのフォルダ名に対して、拡張子 .pro が付加された
ものになります。この場合、hello.pro という名前でプロジェクトファイルが生成されま
す。
開発者はこのデフォルトのプロジェクトファイルに対して、追加・修正を加えることで、
12
開発者の要求に応じたプロジェクトファイルとしてカスタマイズを行う事が出来ます。
このコマンドを実行する必要があるのは、主に次のような場合です。
新しくプロジェクトを作成して、まだ .pro ファイルが存在しないとき
プロジェクトを構成するファイルを追加もしくは削除したとき、あるいはファイル
名が変更されたとき
ファイルを編集して内容が変わっても、プロジェクトを構成するファイルの名前や数が
変わらなければ、このコマンドを実行する必要はありません。
プロジェクトファイルに対して手動で追加・修正した場合、
“qmake –project”を実行す
ることで、プロジェクトファイルが上書きされ、変更した部分が失われてしまいますの
で、ご注意ください。
(4) ビルドルールの
ビルドルールの作成
先ほど作成したプロジェクトファイルを基に、ビルドルールが記述されたファイルを作
成します。ビルドルールの作成は、コマンドプロンプト上で、次のように“qmake”コ
マンドを引数無しで実行します。
$ qmake
上記のように実行すると、
“qmake”コマンドが、プロジェクトファイル“hello.pro”の
内容を読み込み、あらかじめ設定されている環境に合わせたビルドルールが生成されま
す。今回は、make コマンド用の Makefile が生成されます。
このコマンドを実行する必要があるのは、次のような場合です。
ビルドルールが記述されたファイルが存在しない場合
Qt プロジェクトファイルが更新された場合
実装したクラスに新たに Q_OBJECT マクロを追加した場合
(5) ビルド
先ほど作成したビルドルールが記述されたファイルに従って、プロジェクトをビルドし
ます。
13
今回は生成されるビルドルールが make コマンド用になりますので、以下のようにコマ
ンドを実行してビルドを行います。
$ make
(6) 実行
ビルドが成功すると、プログラムの実行形式が生成されます。実行可能ファイルの名前
は、プロジェクトディレクトリ名と同じになります。
$ ./hello
14
3 Qt を習得するには
Qt には、アプリケーション実装の際に参考になるプログラムが多数含まれています。これ
らに目を通しておくことで、アプリケーションを開発する際のヒントが得られます。また、
書籍として発行されている情報や Qt Development Frameworks, Nokia 社のサイトにも開
発の際に役に立つ多数のドキュメントが提供されていますので、ここではそれらの情報に
ついて記述します。
15
3.1 Qt に付属の情報
ここでは、Qt を導入するにあたり参考になるような情報として、Qt に付属しているサンプ
ルプログラムやドキュメントについてご紹介します。
Qt 付属のサンプルプログラム
Qt をインストールしたディレクトリ直下の examples 以下に多数のサンプルプログラ
ムが含まれています。これらは Qt 個々の機能のサンプルプログラムであり、機能ごと
に分かれて置かれています。
この中でももっとも自習用にお勧めのプログラムがチュートリアル
(examples/tutorial)です。Qt 付属のドキュメントにチュートリアルの解説があります
ので合わせてご参照ください。
Qt 付属のデモンストレーションプログラム
Qt をインストールしたディレクトリ直下の demos 以下にデモンストレーション用のプ
ログラムが含まれています。Qt Examples and Demos は、Qt のデモンストレーショ
ンプログラムおよびサンプルプログラムを起動するためのランチャプログラムです。
ランチャプログラムを通して Qt が提供するデモンストレーションプログラム等を簡単
な操作で確認する事ができます。
Qt 付属のドキュメント
Qt には、Qt Reference Documentation というオンラインマニュアルが付属していま
す。次の二つのツールで参照できますが、内容は同じです。なお、Qt Reference
Documentation および Qt Assistant のインストール先については、
「1.3 インストール
ファイル」をご覧ください。
Qt Assistant(ドキュメントブラウザ)で表示
Qt Assistant は Qt のドキュメントブラウザです。
Qt Assistant が表示する内容は、
次項のウェブブラウザで表示できるものとほぼ同じですが、ドキュメントの階層表
示や、キーワードによる全文検索ができるなど、やや高機能になっています。チュ
ートリアルの解説ページは、以下の要領で辿る事ができます。
Qt Reference Documentation
→ Getting Started
→ Tutorials, Examples and Demonstrations
16
ウェブブラウザで表示
Qt Reference Documentation は HTML 形式ですので、ウェブブラウザを使用して
表示できます。index.html がトップページです。トップページの「Tutorial and
Examples」というリンクをクリックすると、チュートリアルやサンプルプログラム
の解説ページを辿ることができます。
17
3.2 Qt に関する書籍
ここでは、Qt について記述されている書籍についてご紹介します。英語で記述されたもの
と、その日本語訳の書籍があります。
『入門 Qt 4 プログラミング』
(既刊、Qt 4.1 ベース)
Jasmin Blanchette, Mark Summerfield 著、
杵渕聡・杉田研治 訳、オライリー・ジャパン
『Qt GUI プログラミング』
(既刊、Qt 3 ベース)
Jasmin Blanchette, Mark Summerfield 著、
杵渕聡・杉田研治 訳、ソフトバンク パブリッシング株式会社
『C++ GUI Programming With Qt 4 Second Edition』(2008 年 2 月 8 日 発売、洋
書、Qt 4.3 ベース)
Jasmin Blanchette, Mark Summerfield 著、Prentice Hall
『C++ GUI Programming With Qt 4』(2006 年 7 月 7 日発売、洋書、Qt 4.1 ベース)
Jasmin Blanchette, Mark Summerfield 著、Prentice Hall
18
3.3 Qt の情報源
Qt Development Frameworks, Nokia 社の公式サイト(http://www.qt.nokia.com/)に
Qt の情報が集約されています。開発者向けページ(http://www.qt.nokia.com/developer/)
から辿ることができる、以下のページが特にお勧めです。
Supported Platforms
http://qt.nokia.com/doc/4.6/supported-platforms.html
プラットフォームに関する情報です。
FAQ
http://www.qt.nokia.com/developer/faqs/
FAQ のページです。
Qt Bug Tracker
http://bugreports.qt.nokia.com/
ユーザから報告のあった不具合や提案などの一覧があります。
Online Reference Documentation
http://qt.nokia.com/doc/
リファレンスマニュアルや各種ツール、定期刊行記事へのリンクがあります。
19
改訂履歴
日付
内容
2009 年 12 月 25 日
Qt 4.6.0 に対応・商用版向けに共用化
2009 年 7 月 14 日
Qt 4.5.2 に対応
2008 年 7 月 25 日
Qt 4.4.0 に対応
2006 年 9 月 10 日
インストール先のディレクトリ構成、アンインストール手
順を追加
2006 年 7 月 13 日
新規作成
20