Qt 導入手引書
(Windows - Visual Studio 用)
2009 年 12 月 25 日
第 9 版
2
目次
1 Qt のインストール ... 3 1.1 インストール準備 ... 4 1.2 インストール手順 ... 5 1.3 インストールファイル ... 15 1.4 アンインストール手順 ... 17 2 Qt の簡単な使い方 ... 18 2.1 サンプルプログラムの実行方法 ... 19 2.2 開発手順... 20 3 Qt を習得するには ... 25 3.1 Qt に付属する情報... 26 3.2 Qt に関する書籍 ... 28 3.3 Qt の情報源... 29 改訂履歴 ... 303
1 Qt
のインストール
この文書では、以下の環境に Qt のバイナリ版を単体インストールする手順について説明し ます。
OS : Windows Vista + Service Pack 2 Compiler : Visual Studio 2005 + Service Pack 1
Qt : Qt 4.6.0 (qt-win-commercial-4.6.0-vs2005.exe)
上記以外の環境や、Microsoft の他のコンパイラ(Visual Studio 2003 .NET 用、Visual Studio 2008 用)の場合も、同様の手順でインストールできます。
4
1.1
インストール準備
インストールする前に、以下の手順にしたがってインストール前の準備を行ってください。 (1) (1) (1) (1) ユーザユーザユーザユーザ権限権限権限権限ののの確認の確認確認 確認 Qt をインストールするには、アドミニストレータ権限が必要です。標準ユーザもしくは 制限ユーザの権限ではインストールできません。 (2) (2) (2) (2) QtQtQtQt ののの入手の入手入手 入手 Qt のインストーラを、Qt Development Frameworks のサイトからダウンロードして入 手します。 バージョン番号を 4.6.0 とすると Qt のインストーラのファイル名は、次のようになり ます。 開発環境 ファイル名Visual Studio .NET 2003 qt-win-commercial-4.6.0-vs2003.exe Visual Studio 2005 qt-win-commercial-4.6.0-vs2005.exe Visual Studio 2008 qt-win-commercial-4.6.0-vs2008.exe
※「Qt SDK」 をインストールする場合 qt-sdk-win-commercial-YYYY.xx.exe をダウンロードします。 この場合、以降のドキュメントの説明で用いている上記の単体インストールとは手順、インストールさ れる構成、内容が異なる部分がありますのでご注意ください。 (3) (3) (3) (3) ライセンシーライセンシーライセンシーライセンシー名名名、名、ライセンスキー、、ライセンスキーライセンスキーライセンスキーののの確認の確認確認 確認 インストール時に、ライセンシー名およびライセンスキーを入力する必要があります。 次のような記述を含む案内メールが送られてきますので、Name および License Key を ご確認ください。
(ライセンス情報) Name: Taro YamadaTaro YamadaTaro YamadaTaro Yamada
Company name: Software Research Associates, Inc., Japan License Key: AAAAAAAA----BBBAAAAAAAA BBBBBBBBB----CCCCCCCCCCCC----DDDDDD----EEEDDDDDD EEEEEEEEEEEEEE----FFFFFEEE FFFFFFFFFFFFFFF----GGGGGGGGGGGG GGGG
5
1.2
インストール手順
以下の手順にしたがって、Qt をインストールします。 (1) (1) (1) (1) インストーラインストーラインストーラインストーラののの起動の起動起動起動 Qt のインストーラをエクスプローラ上でダブルクリックします。しばらくすると次のよ うにセットアップウィザードが起動します。起動を確認後、“Next >”ボタンを押下します。6 (2) (2) (2) (2) ライセンシーライセンシーライセンシーライセンシー名名名と名とライセンスキーととライセンスキーライセンスキーライセンスキーののの入力の入力入力 入力 ライセンシー名とライセンスキーを入力する画面が表示されます。案内メールに記載さ れている情報はそれぞれ以下のように対応します。
Name → Licensee name License Key → Qt License key
7 (3) (3) (3) (3) ライセンスライセンスライセンスライセンス条項条項条項への条項への同意へのへの同意同意の同意ののの確認確認確認確認 ライセンス条項に同意するかどうかの確認を求める画面が表示されます。ライセンス条 項をご確認の上、“I accept the terms in the License Agreement”のラジオボタンが有効 になるようクリックして、“Next >”ボタンを押下します。
8 (4) (4) (4) (4) インストールインストールインストールインストール対象対象対象の対象ののの選択選択選択 選択 インストール対象をチェックボックスで選択します。デフォルトでは全ての項目がイン ストールされます。インストール不要のものがあればチェックを外して下さい。なお、 Qt 本体は選択を解除できません。インストール対象を確認し、“Next >”ボタンを押下し ます。
9 (5) (5) (5) (5) インストールフォルダインストールフォルダインストールフォルダインストールフォルダののの選択の選択選択選択 インストール先のフォルダを選択する画面が表示されます。インストール先を変更する 場合は、任意のフォルダを指定してください。デフォルトのインストール先は以下の通 りとなります。 インストールするフォルダを確認し、“Next >”ボタンを押下します。 項目 インストールするフォルダ Destination Folder C:\Qt\4.6.0
10 (6) (6) (6) (6) スタートメニュースタートメニュースタートメニュースタートメニューのののの選択選択選択 選択 スタートメニューに表示するプログラムフォルダを選択するための画面が表示されます。 内容を確認し“Install”ボタンを押下すると、インストールが始まります。
11 (7) (7) (7) (7) インストールインストールインストールインストール完了完了完了 完了 インストール状況を示すプログレスバーを持つ画面が表示されます。プログレスバーが 最後まで進み、その上に Completed と表示されたら、“Next >”ボタンを押下します。
12
以下のようにインストール完了画面が表示されます。
“Finish”ボタンを押下すると、セットアップウィザードが終了し、Qt Examples and Demos(サンプルプログラムとデモプログラムのランチャーアプリケーション)および Qt Assistant(ドキュメントブラウザアプリケーション)が起動します。
13 (8) (8) (8) (8) インストールインストールインストールインストール後後後の後ののの環境環境環境環境 インストールが正しく終了した場合、スタートメニューに“Qt by Nokia v4.6.0(VS2005)” と言う名前のアプリケーションメニューが、以下のように登録されます。 ここでは、上記のメニュー内の以下の 2 つの項目について説明します。
Qt 4.Qt 4.Qt 4.Qt 4.6666.0 Command Prompt.0 Command Prompt.0 Command Prompt.0 Command Prompt
Qt を使用するにあたり、必要な環境変数などが設定された状態でコマンドプロンプトを 起動します。この中では、使用するコンパイラへのパスや Qt が提供するツール等が収め られた場所へのパス等が設定されます。このドキュメント内でコマンドプロンプトを使 用する場合には、この状態のコマンドプロンプトを指します。
Visual Studio with Qt 4.Visual Studio with Qt 4.Visual Studio with Qt 4.Visual Studio with Qt 4.666.06.0.0.0
上記のコマンドプロンプトと同様に、必要な環境変数などが設定された状態で Visual Studio を起動します。 (9) (9) (9) (9) 環境変数環境変数環境変数環境変数ののの設定の設定設定 設定 Qt を使用するにあたり、以下の環境変数を設定しておくと便利です。環境変数の設定方 法はプラットフォームに依存しますが、今回使用する環境 (Windows Vista) では、以下 のように辿って設定してください。 システムのプロパティ → 詳細設定 → 環境変数
14 PATHPATHPATHPATH
Qt をインストールしたフォルダ以下の“bin”を既存の PATH に追加します。ここには Qt アプリケーションに必要な Qt のライブラリと、Qt アプリケーションを実装、ビルドす る際に必要となるツール類が格納されています。これを設定することで、エクスプロー ラ上から Qt アプリケーション(Qt が提供するツールや例題アプリケーション、自身で実 装したアプリケーション等)を直接起動することができるようになります。
15
1.3
インストールファイル
インストールされたファイルについて記載します。ここでは、インストール先をトップデ ィレクトリとした場合のサブディレクトリ単位で代表的なものについてのみ記載します。 (1) (1) (1)(1) bin bin bin bin ディレクトリディレクトリディレクトリディレクトリ
Qt が提供する各種コマンド・ツール、Qt ライブラリ本体が格納されています。 代表的なツールは以下の通りです。 assistant (ドキュメントブラウザ) designer (GUI レイアウトツール) linguist (ローカライズ支援ツール) qmake (ビルドルール生成コマンド) qtdemo (デモンストレーションランチャ) lupdate (ローカライズ対象フレーズ抽出コマンド) lrelease (ローカライズファイル変換コマンド) moc (メタオブジェクトコンパイラ) uic (ユーザインタフェースコンパイラ) (2) (2) (2)
(2) demos, examples demos, examples demos, examples demos, examples ディレクトリディレクトリディレクトリ ディレクトリ
デモンストレーションプログラム(demos)とサンプルプログラム(examples)が格納され ています。
(3) (3) (3)
(3) doc doc doc doc ディレクトリディレクトリディレクトリ ディレクトリ
Qt のドキュメントが格納されています。html サブディレクトリ以下に HTML 形式で格 納されています。
(4) (4) (4)
(4) include include include include ディレクトリディレクトリディレクトリ ディレクトリ
インクルードファイルが格納されています。include ディレクトリ以下は、モジュール毎 にサブディレクトリが作成・分類されています。
(5) (5) (5)
(5) lib lib lib lib ディレクトリディレクトリディレクトリディレクトリ
16 (6)
(6) (6)
(6) mkspecs mkspecs mkspecs mkspecs ディレクトリディレクトリディレクトリディレクトリ
プラットフォーム、コンパイラ固有の設定ファイルが格納されています。 (7)
(7) (7)
(7) plugins plugins plugins plugins ディレクトリディレクトリディレクトリ ディレクトリ
プラグイン形式のライブラリが格納されています。プラグインの用途毎に格納されるサ ブディレクトリが分類されています。
(8) (8) (8)
(8) translations translations translations translations ディレクトリディレクトリディレクトリディレクトリ
Qt ライブラリ本体内で使用されているフレーズについての翻訳ファイルとロード可能モ ジュールファイルが格納されています。
17
1.4
アンインストール手順
アンインストールを行う方法として、以下の 2 通りの方法があります。アンインストール には、アドミニストレータ権限が必要です。標準ユーザもしくは制限ユーザの権限では、 アンインストールできませんのでご注意ください。 (1) (1) (1) (1) スタートメニュースタートメニュースタートメニュースタートメニューからからからから実行実行実行 実行 スタートメニューの「すべてのプログラム」から Qt のアンインストーラを起動します。 スタート → Qt by Nokia v4.6.0 (VS 2005) → Uninstall Qt Commercial 4.6.0 アンインストーラが起動しますので、指示に従ってアンインストールしてください。 (2) (2) (2) (2) コントロールパネルコントロールパネルコントロールパネルコントロールパネルからからから実行から実行実行実行 1. コントロールパネルから「プログラムの追加と削除」を開きます。 2. Qt Commercial 4.6.0 を選び、「変更と削除」ボタンを押します。 アンインストーラが起動しますので、指示にしたがってアンインストールしてください。18
2 Qt
の簡単な使い方
ここでは、Qt を使用してのアプリケーション開発方法についてご説明します。まずは、付 属のサンプルプログラムの実行方法についてご説明します。その後、Qt API を使用した Qt アプリケーションの実装方法、ビルド方法、実行方法についてご説明します。
19
2.1
サンプルプログラムの実行方法
Qt には数多くのサンプルプログラムが含まれています。Qt のインストール後、以下の方法 で付属のサンプルプログラムを実行することができます。 Qt をインストールしたトップディレクトリを C:¥Qt¥4.6.0 とした場合、以下のフォルダ 内にサンプルプログラムがカテゴリ毎に分類されて置かれています。 C:\Qt\4.6.0\examples\ 例えば、C:¥Qt¥4.6.0¥examples¥widgets¥calculator には、計算機のプログラムがありま す。これを起動するには、次のいずれかのようにします。 ※ 環境変数 PATH の設定が必要です。 エクスプローラから実行 エ ク ス プ ロ ー ラ で C:¥Qt¥4.6.0¥examples¥widgets¥calculator¥release を 開 き 、 calculator.exe をダブルクリック コマンドプロンプトから実行 次のコマンドを実行します。 実行すると、次のようなウィンドウが表示されます。 C:\> cd C:\Qt\4.6.0\examples\widgets\calculator\release C:\Qt\4.6.0\examples\widgets\calculator\release> calculator.exe20
2.2
開発手順
ここでは、Qt を使用したプログラム開発における手順について説明します。 Qt を使用したプログラムのソースファイルを作成し、ビルド、実行する一般的な手順は次 のようになります。 (1) プロジェクトディレクトリの作成 (2) ソースファイルの作成・編集 (3) プロジェクトファイルの作成・編集 (4) ビルドルールの作成 (5) ビルド (6) 実行 この手順の例として、Qt を使用した簡単なプログラムを最初から作成してみます。ここで は、“Hello World!”と言う文字列が書かれたボタンを表示するプログラムを作成します。以 下で手順を説明します。 (1) (1) (1) (1) プロジェクトディレクトリプロジェクトディレクトリプロジェクトディレクトリプロジェクトディレクトリのののの作成作成作成作成 実行可能ファイルやライブラリ等を作成するための単位を“プロジェクト”と呼びます。プ ロジェクトは実装ファイルやヘッダファイル、リソースファイル等で構成されます。ま ずは、これらのファイルを格納するためのフォルダを作成します。 コマンドプロンプトを起動し、以下のコマンドを実行します。ここでは、taro ユーザの My Documents フォルダ以下に“hello”と言う名前のフォルダを作成するものとします。 (2) (2) (2) (2) ソースファイルソースファイルソースファイルソースファイルのののの作成作成作成作成・・・編集・編集編集編集 プロジェクトディレクトリへ移動します。 必要なソースファイルやヘッダファイルを、テキストエディタを使用して作成します。 今回はこのフォルダ内にソースファイル“main.cpp”を以下の内容で作成します。C:\Documents and Settings\taro\My Documents> mkdir hello
21 (3) (3) (3) (3) プロジェクトファイルプロジェクトファイルプロジェクトファイルプロジェクトファイルののの作成の作成作成作成 プロジェクトファイルとは、プロジェクトをビルドするために必要な情報が記述された ファイルです。また、その内容はプラットフォーム非依存なものになります。プロジェ クトファイルを基に、各プラットフォーム上でビルドするためのビルドルールが記述さ れたファイルを生成することができます。 プロジェクトファイルを手動で記述することもできますが、Qt ではプロジェクトのフォ ルダ内の情報から自動的にプロジェクトファイルを生成する方法も提供しています。自 動的にプロジェクトファイルを生成するには以下のコマンドを実行します。 “qmake” コマンドにオプション引数 “–project”を付けて実行すると、プロジェクトフォ ルダに収められたファイルの情報を読み込み、それらをビルドするためのプロジェクト 情報として、デフォルトのプロジェクトファイルが生成されます。デフォルトのプロジ ェクトファイルは、プロジェクトフォルダ名に対して、拡張子 .pro が付加されたものに なります。この場合、hello.pro と言う名前でプロジェクトファイルが生成されます。 開発者はこのデフォルトのプロジェクトファイルに対して、追加・修正を加えることで、 開発者の要求に応じたプロジェクトファイルとしてカスタマイズを行なう事ができます。 このコマンドを実行する必要があるのは、主に次のような場合です。 #include <QApplication> #include <QPushButton>
int main(int argc, char *argv[]) {
QApplication app(argc, argv);
QPushButton hello("Hello World!"); hello.show();
return app.exec(); }
22 新しくプロジェクトを作成して、まだ .pro ファイルが存在しないとき プロジェクトを構成するファイルを追加もしくは削除したとき、あるいはファイル 名が変更されたとき ファイルを編集して内容が変わっても、プロジェクトを構成するファイルの名前や数が 変わらなければ、このコマンドを実行する必要はありません。 プロジェクトファイルに対して手動で追加・修正した場合、“qmake –project”を実行する ことで、プロジェクトファイルが上書きされ、変更した部分が失われてしまいますので、 ご注意ください。 (4) (4) (4) (4) ビルドルールビルドルールビルドルールビルドルールののの作成の作成作成作成 先ほど作成したプロジェクトファイルを基に、ビルドルールが記述されたファイルを生 成します。ビルドルールの作成は、コマンドプロンプト上で、次のように“qmake”コマン ドを引数無しで実行します。 上記のように実行すると、“qmake”コマンドが、プロジェクトファイル“hello.pro”の内容 を読み込み、あらかじめ設定されている環境に合わせたビルドルールが生成されます。 今回は、nmake コマンド用の Makefile が生成されます。 このコマンドを実行する必要があるのは、次のような場合です。 ビルドルールが記述されたファイルが存在しない場合 Qt プロジェクトファイルが更新された場合 実装したクラスに新たに Q_OBJECT マクロを追加した場合 (5) (5) (5) (5) ビルドビルドビルドビルド 先ほど作成したビルドルールが記述されたファイルにしたがって、プロジェクトをビル ドします。
開発環境として、Windows 上で Visual Studio を使用する場合、ビルドには Visual Studio に付属するコンパイラやコマンドを使用します。今回は生成されるビルドルールが、
23 nmake コマンド用になりますので、以下のようにコマンドを実行して、ビルドを行いま す。 このように実行した場合、デバッグ用の実行可能ファイルが生成されます。デバッグ用 ではなくリリース用実行可能ファイルを作成するには、次のようにターゲットとして release を指定して実行します。 (6) (6) (6) (6) 実行実行実行実行 ビルドが成功すると、debug もしくは release ディレクトリにプログラムの実行形式が生 成されます。実行可能ファイルの名前は、プロジェクトディレクトリ名に“.exe”拡張子が 付いたものになります。今回の場合は、“hello.exe”という実行可能ファイルが作成されま す。 【release の場合】 【debug の場合】 上記のように実行すると、以下のようなウィンドウが表示されます。 ※ ※ ※ ※ ビルドルールビルドルールビルドルール生成ビルドルール生成生成についての生成についてのについてのについての補足補足補足補足
開発環境として、Windows 上で Visual Studio を使用する場合、ビルドルールとして nmake 用の Makefile の代わりに Visual Studio 用プロジェクトファイルを使用すること も可能です。この場合、ビルドルールの生成時に以下のようにオプションを付けて qmake
C:\Documents and Settings\taro\My Documents\hello> nmake
C:\Documents and Settings\taro\My Documents\hello> nmake release
C:\Documents and Settings\taro\My Documents\hello> .\release\hello
24 コマンドを実行することにより、Visual Studio 用プロジェクトファイルを生成すること ができます。 上記のように実行すると、hello.vcproj と言う名前でプロジェクトファイルが生成されま す。その後は Visual Studio が提供している機能・操作方法にしたがって、プロジェクト のビルド、実行ができます。
25
3 Qt
を習得するには
Qt には、アプリケーション実装の際に参考になるプログラムが多数含まれています。これ らに目を通しておくことで、アプリケーションを開発する際のヒントが得られます。また、 書籍として発行されている情報や Qt Development Frameworks, Nokia 社のサイトにも開 発の際に役に立つ多数のドキュメントが提供されていますので、ここではそれらの情報に ついて記述します。
26
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 Started27 ウェブブラウザで表示
Qt Reference Documentation は HTML 形式ですので、ウェブブラウザを使用して 表示できます。index.html がトップページです。トップページの「Tutorial and Examples」というリンクをクリックすると、チュートリアルやサンプルプログラム の解説ページを辿ることができます。
28
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
29
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/
30
改訂履歴
日付 内容
2009 年 12 月 25 日 Qt 4.6.0 に対応・商用版向けに共用化
2009 年 10 月 6 日 Visual Studio Integration に関する記述を削除 2009 年 6 月 1 日 Qt 4.5.0 に対応 2008 年 7 月 25 日 Qt 4.4.0 に対応 2007 年 2 月 19 日 Visual Studio 2005 SP1 に関する注意事項を削除 2007 年 2 月 6 日 Visual Studio 2005 SP1 に関する注意事項を追加 2006 年 10 月 16 日 Qt 4.2.0 に対応 2006 年 9 月 10 日 インストール先のディレクトリ構成、アンインストール手 順を追加 2006 年 7 月 13 日 新規作成