(mac os x) - 株式会社sra 1.2 インストール手順 以下の手順に従って、qt...
TRANSCRIPT
Qt 導入手引書
(Mac OS X)
2009 年 12 月 25 日
第4版
株式会社 SRA
2
目次 1 Qt のインストール .......................................................................................................... 3
1.1 インストール準備 .................................................................................................... 3
1.2 インストール手順 .................................................................................................... 4
1.3 インストールファイル ............................................................................................11
1.4 アンインストール手順 ........................................................................................... 15
2 Qt の簡単な使い方 ........................................................................................................ 16
2.1 サンプルプログラムの実行方法 ............................................................................ 17
2.2 開発手順................................................................................................................. 18
3 Qt を習得するには ....................................................................................................... 22
3.1 Qt に付属する情報................................................................................................ 23
3.2 Qt に関する書籍 ................................................................................................... 25
3.3 Qt の情報源........................................................................................................... 26
改訂履歴 ............................................................................................................................... 27
Copyright (C) 2006-2009 Software Research Associates, Inc. All Rights Reserved
1 Qtのインストール
この文書では、Qt のバイナリ版を単体インストールする手順について説明します。
1.1 インストール準備
インストールする前に以下の手順に従ってインストール前の準備を行ってください。
(1)(1)(1)(1) ユーザユーザユーザユーザ権限権限権限権限のののの確認確認確認確認
Qt をインストールするには、管理者権限を持ったユーザのアカウントとパスワードが必
要です。
(2)(2)(2)(2) QtQtQtQt のののの入手入手入手入手
Qt のインストーラを、Qt Development Frameworks のサイトからダウンロードして入
手します。
項目 ファイル名
Qt インストーラ qt-mac-commercial-4.6.0.dmg
※「Qt SDK」 をインストールする場合 qt-sdk-mac-commercial-YYYY.xx.dmg をダウンロードします。
この場合、以降のドキュメントの説明で用いている上記の単体インストールとは手順、インストールさ
れる構成、内容が異なる部分がありますのでご注意ください
(3)(3)(3)(3) ライセンシーライセンシーライセンシーライセンシー名名名名、、、、ライセンライセンライセンライセンスキースキースキースキーのののの確認確認確認確認
インストール時に、ライセンシー名およびライセンスキーを入力する必要があります。
次のような記述を含む案内メールが送られてきますので Name および License Key を
ご確認ください。
(ライセンス情報)
Name: Taro YamadaTaro YamadaTaro YamadaTaro Yamada
Company name: Software Research Associates, Inc., Japan
License Key: AAAAAAAAAAAAAAAA----BBBBBBBBBBBB----CCCCCCCCCCCC----DDDDDDDDDDDD----EEEEEEEEEEEEEEEE----FFFFFFFFFFFFFFFFFFFF----GGGGGGGGGGGGGGGG
Period:2010/2/1
4
1.2 インストール手順
以下の手順に従って、Qt をインストールします。
(1)(1)(1)(1) インストーラインストーラインストーラインストーラのののの起動起動起動起動
qt-mac-commercial-4.6.0.dmg を Qt Development Frameworks のサイトからダウンロ
ードし、ファイルを開いてマウントします。。
Qt.mpkg のアイコンを開くと、インストーラが起動します。
「続ける」ボタンを押下します。
5
(2)(2)(2)(2) 「「「「大切大切大切大切なななな情報情報情報情報」」」」のののの確認確認確認確認
Qt 及びインストールに関する注意事項が表示されますので、内容をご確認の上「続ける」
ボタンを押下します。
6
(3)(3)(3)(3) 「「「「使用許諾契約使用許諾契約使用許諾契約使用許諾契約」」」」のののの確認確認確認確認
ソフトウェアの使用許諾契約に同意するかどうか確認を求めるウィンドウが表示されま
す。北米および南米大陸以外の地域にお住まいの方はコンボボックスを Desktop Rest of Desktop Rest of Desktop Rest of Desktop Rest of
the worldthe worldthe worldthe world の表示に切り替え内容をご確認の上「続ける」ボタンを押下します。
次のようなウィンドウが出ますので、使用許諾契約の条件をよく確認し「同意する」ボ
タンを押下します。
7
(4)(4)(4)(4) ライセンスキーライセンスキーライセンスキーライセンスキーのののの入力入力入力入力
ライセンシー名およびライセンスキーを入力するウィンドウに切り替わります。案内メ
ールに記載されている情報を入力してください。
8
(5)(5)(5)(5) インストールインストールインストールインストール先先先先のののの選択選択選択選択
Qt のインストール先のボリュームを選択する画面に切り替わります。
インストールしたいボリュームを選択し、「続ける」ボタンを押下します。
9
(6)(6)(6)(6) インストールインストールインストールインストールのののの種類種類種類種類をををを選択選択選択選択
インストールの種類を選択するウィンドウに切り替わります。
このまま「インストール」ボタンを押下する場合、簡易インストールが実行されます。
簡易インストールではすべての項目がインストールされます。必要なものを選択してイ
ンストールしたい場合は、「カスタマイズ」ボタンを押下し、カスタムインストール画面
に切り替えます。
インストールしたくないものがあれば、チェックを解除してください。ただし、グレー
アウトしている項目は、必ずインストールされます。
10
「インストール」ボタンを押下すると、インストールが始まります。次のウィンドウが
表示されたら、インストールは完了です。
11
1.3 インストールファイル
インストールされたファイルについて記載します。インストール先のディレクトリ構成は、
以下のようになります。ここでは、代表的なものについて記載します。
(1)(1)(1)(1) ツールツールツールツール
/Developer/Tools/Qt にあるものは、/Developer/Applications/Qt もしくは /usr/bin にあ
るものへのシンボリックリンクです。また、/usr/bin にある、ファイル名が 4.6 で終わ
らないファイルは、同じ /usr/bin の 4.6 で終わるファイルへのシンボリックリンクにな
ります。
/Developer
Applications
Qt
Assistant.app … Qt Assistant(ドキュメントブラウザ)
Designer.app … Qt Designer(GUI レイアウトツール)
Linguist.app … Qt Linguist(ローカライズ支援ツール)
Tools
Qt
assistant.app
Designer.app
Linguist.app
findtr
lrelease
lupdate
moc
pixeltool.app
qmake
rcc
uic
:
12
/usr
bin
lupdate-4.6(lupdate) … ローカライズ対象フレーズ抽出コマンド
moc-4.6(moc) … メタオブジェクトコンパイラ
lrelease-4.6(lrelease) … ローカライズファイル変換コマンド
qmake-4.6(qmake) … ビルドルール生成コマンド
rcc-4.6(rcc) … リソースコンパイラ
uic-4.6(uic) … ユーザインタフェースコンパイラ
include … ツール用のヘッダファイル
lib … ツール用のライブラリ
(2)(2)(2)(2) ドキュメントドキュメントドキュメントドキュメント
Qt のドキュメントは、/Developer/Documentation/Qt に HTML 形式で置かれています。
/Developer
Documentation
Qt
html
index.html … Qt Reference Documentation トップページ
examples.htm … サンプルプログラムのページ
tutorial.htm … チュートリアルのページ
:
13
(3)(3)(3)(3) サンプルプログラムサンプルプログラムサンプルプログラムサンプルプログラム
サンプルプログラムは /Developer/Examples/Qt 以下にインストールされます。Qt
Examples and Demos は、サンプルプログラムとデモプログラムを紹介するアプリケー
ションです。
/Developer
Applications
Qt
qtdemo.app … デモンストレーションランチャ
Examples
Qt
Demos … デモプログラム
tutorial … チュートリアル
:
(4)(4)(4)(4) プラグインプラグインプラグインプラグイン
/Developer
Applications
Qt
plugins
accessible … QAccessiblePlugin
designer … Qt Designer 用のプラグイン
imageformats … QImageIOPlugin
sqldrivers … QSqlDriverPlugin
:
14
(5)(5)(5)(5) ライブラリライブラリライブラリライブラリ、、、、ヘッダファイルヘッダファイルヘッダファイルヘッダファイル
/Library
Frameworks
Qt3Support.framework … Qt 3 互換のクラス
QtCore.framework … GUI 以外のコアクラス
QtGui.framework … GUI コンポーネントのクラス
QtNetwork.framework … ネットワークプログラミングのためのクラス
QtOpenGL.framework … OpenGL をサポートするためのクラス
QtSql.framework … SQL を用いた DB と統合するためのクラス
QtSvg.framework … SVG ファイルを表示するためのクラス
QtXml.framework … XML を扱うためのクラス
:
(6)(6)(6)(6) そのそのそのその他他他他
/Developer
Applications
Qt
phrasebooks … フレーズブック
Examples
Qt
Tools
i18n
translations … 翻訳メッセージファイル
/usr
local
Qt4.6
mkspecs
… プラットフォームやコンパイラ固
有の設定ファイルの置き場
15
1.4 アンインストール手順
アンインストールには管理者権限が必要です。
ターミナルを起動し、/Developer/Tools へ移動します。
# cd /Developer/Tools
uninstall-qt.py を管理者権限で実行します。
# sudo ./uninstall-qt.py
removing package docs
removing package headers
:
16
2 Qtの簡単な使い方
ここでは、Qt を使用してのアプリケーション開発方法についてご説明します。まずは、付
属のサンプルプログラムの実行方法についてご説明します。その後、Qt API を使用した
Qt アプリケーションの実装方法、ビルド方法、実行方法についてご説明します。
17
2.1 サンプルプログラムの実行方法
Qt には数多くのサンプルプログラムが含まれています。Qt をインストール後、以下の方
法で付属のサンプルプログラムを実行することができます。
以下のディレクトリ内にサンプルプログラムがカテゴリ毎に分類されて置かれています。
/Developer/Examples/Qt/
例えば、/Developer/Examples/Qt/widgets/calculator/ には、計算機のプログラムがありま
す。これを起動するには、次のいずれかのようにします。
(1)(1)(1)(1) ターミナルターミナルターミナルターミナルからからからから実行実行実行実行
次のコマンドを実行します。
(2)(2)(2)(2) Finder Finder Finder Finder からからからから実行実行実行実行
Finder で /Developer/Examples/Qt/widgets/calculator を開き、calculator.app をダブル
クリックします。
実行すると、次のようなウィンドウが表示されます。
$ open /Developer/Examples/Qt/widgets/calculator/calculator.app
18
2.2 開発手順
ここでは、Qt を使用したプログラム開発における手順について説明します。Qt を使用した
プログラムのソースファイルを作成し、ビルド、実行する一般的な手順は次のようになり
ます。
(1) プロジェクトディレクトリの作成
(2) ソースファイルの作成・編集
(3) プロジェクトファイルの作成・編集
(4) ビルドルールの作成
(5) ビルド
(6) 実行
この手順の例として、Qt を使用した簡単なプログラムを最初から作成してみます。ここで
は、“Hello World!” と言う文字列が書かれたボタンを表示するプログラムを作成します。
以下で手順を説明します。
(1)(1)(1)(1) プロジェクトディレクトリプロジェクトディレクトリプロジェクトディレクトリプロジェクトディレクトリのののの作成作成作成作成
実行可能ファイルやライブラリ等を作成するための単位を“プロジェクト”と呼びます。
プロジェクトは実装ファイルやヘッダファイル、リソースファイル等で構成されます。
まずは、これらのファイルを格納するためのディレクトリを作成します。
ターミナルを起動し、以下のコマンドを実行します。ここでは任意の場所に “hello” と
言う名前のディレクトリを作成するものとします。
$ mkdir hello
19
(2)(2)(2)(2) ソースファイルソースファイルソースファイルソースファイルのののの編集編集編集編集
プロジェクトディレクトリへ移動します。
ここに、必要なソースファイルやヘッダファイルを、テキストエディタを使用して作成
します。今回は、ここにソースファイル“main.cpp”を次の内容で作成します。
(3)(3)(3)(3) プロジェクトファイルプロジェクトファイルプロジェクトファイルプロジェクトファイルのののの作成作成作成作成
プロジェクトファイルとは、プロジェクトをビルドするために必要な情報が記述された
ファイルです。また、その内容はプラットフォーム非依存なものになります。プロジェ
クトファイルを基に、各プラットフォーム上でビルドするためのビルドルールが記述さ
れたファイルを生成することができます。
プロジェクトファイルを手動で記述することもできますが、Qt ではプロジェクトのディ
レクトリ内の情報から自動的にプロジェクトファイルを生成する方法も提供しています。
自動的にプロジェクトファイルを生成するには以下のコマンドを実行します。
“qmake” コマンドにオプション引数 “-project” を付けて実行すると、プロジェクトフォ
ルダに収められたファイルの情報を読み込み、それらをビルドするためのプロジェクト
$ cd hello
#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();
}
$ qmake -project
20
情報として、デフォルトのプロジェクトファイルが生成されます。デフォルトのプロジ
ェクトファイルは、プロジェクトのディレクトリ名に対して .pro が付加されたものにな
ります。この場合、hello.pro と言う名前でプロジェクトファイルが生成されます。
開発者はこのデフォルトのプロジェクトファイルに対して、追加・修正を加えることで、
開発者の要求に応じたプロジェクトファイルとしてカスタマイズを行うことができます。
このコマンドを実行する必要があるのは、主に次のような場合です。
� 新しくプロジェクトを作成して、まだ、.pro ファイルが存在しないとき
� プロジェクトを構成するファイルを追加もしくは削除したとき、あるいはファイル
名が変更されたとき
ファイルを編集して内容が変わっても、プロジェクトを構成するファイルの名前や数が
変わらなければ、このコマンドを実行する必要はありません。
プロジェクトファイルに対して手動で追加・修正した場合、”qmake –project” を実行す
ることで、プロジェクトファイルが上書きされ、変更した部分が失われてしまいますの
で、ご注意ください。
(4)(4)(4)(4) ビルドビルドビルドビルドルールルールルールルールのののの作成作成作成作成
先ほど作成したプロジェクトファイルを基に、ビルドルールが記述されたファイルを生
成します。ビルドルールの作成は、コマンドプロンプト上で、次のように “qmake” コマ
ンドに引数 “-spec macx-g++” を付加して実行します。
このコマンドを実行する必要があるのは、次のような場合です。
� ビルドルールが記述されたファイルが存在しないとき
� Qt プロジェクトファイルが更新されたとき
� 実装したクラスに新たに Q_OBJECT マクロを追加したとき
(5)(5)(5)(5) ビルドビルドビルドビルド
先ほど作成したビルドルールが記述されたファイルに従って、プロジェクトをビルドし
ます。以下のようにコマンドを実行して、ビルドを行います。
$ qmake –spec macx-g++
21
(6)(6)(6)(6) 実行実行実行実行
ビルドが成功すると、hello.app というプログラムのバンドルができます。
Finder で hello.app のアイコンをダブルクリックして、実行します。
あるいは、次のようにターミナルから openコマンドを使用して実行することもできます。
* ビルドルールビルドルールビルドルールビルドルール生成生成生成生成についてのについてのについてのについての補足補足補足補足
開発環境として、Xcode を使用する場合、ビルドルールとして Makefile の代わりに
Xcode 用プロジェクトファイルを使用することも可能です。この場合、ビルドルールの生
成時に、次のように”qmake”コマンドに引数“-spec macx-xcode”を付加して実行します。
上記のように実行すると、hello.xcodeproj という名称でプロジェクトファイルが出来ま
す。その後は Xcode が提供している機能・操作方法に従って、プロジェクトのビルド、
実行ができます。
また、環境変数 QMAKESPEC を以下のように設定することにより、“-spec”の指定無
しで実行したときのデフォルトの動作を設定することが出来ます。
QMAKESPEC デフォルトで作成されるビルドルール
macx-g++ Makefile 用ビルドルール
macx-xcode Xcode 用プロジェクト
$ make
$ open hello.app
$ qmake –spec macx-xcode
22
3 Qt を習得するには
Qt には、アプリケーション実装の際に参考になるプログラムが多数含まれています。これ
らに目を通しておくことで、アプリケーションを開発する際のヒントが得られます。また、
書籍として発行されている情報や Qt Development Frameworks, Nokia 社のサイトにも開
発の際に役に立つ多数のドキュメントが提供されていますので、ここではそれらの情報に
ついて記述します。
23
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
24
� ウェブブラウザで表示
Qt Reference Documentation は HTML 形式ですので、ウェブブラウザを使用して
表示できます。index.html がトップページです。トップページの「Tutorial and
Examples」というリンクをクリックすると、チュートリアルやサンプルプログラム
の解説ページを辿ることができます。
25
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
26
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/
リファレンスマニュアルや各種ツール、定期刊行記事へのリンクがあります。
27
改訂履歴
日付 内容
2009 年 12 月 25 日 Qt 4.6.0 に対応・商用版向けに共用化
2009 年 6 月 1 日 Qt 4.5.0 に対応
2008 年 7 月 25 日 Qt 4.4.0 に対応
2006 年 9 月 10 日 新規作成