blob: 5f69245b0571075eaaca38b3635446a1f4e02c23 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<meta name="author" content="alexey.vladykin@sun.com">
<meta name="description" content="A short guide to working with Qt applications in NetBeans IDE or
Oracle Solaris Studio IDE.">
<meta name="keywords" content="NetBeans, Oracle Solaris Studio, IDE, Qt application,
tutorial, guide, user, documentation, open source, C, C++, make, dbx, gdb">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" >
<link rel="stylesheet" type="text/css" href="../../../netbeans.css">
<title>Qtアプリケーションの手順 - NetBeans IDEチュートリアル</title>
</head>
<body style="padding: 2px;">
<h1>Qtアプリケーションの手順 - NetBeans IDEチュートリアル</h1>
<div class="articledate" style="margin-left: 0px;font-style:italic;">
<p><em>執筆: <i>Alexey Vladykin</i>、管理: <a href="mailto:susan.morgan@oracle.com"><i>Susan Morgan</i></a><br> 2013年10月</em> [リビジョン番号: V7.4-1]</div>
<p>このチュートリアルでは、単純なQtアプリケーション・プロジェクトをNetBeans IDEで作成する手順を説明します。Qt toolkitは、オープン・ソースの、クロスプラットフォーム・アプリケーション開発用フレームワークです。</p>
<p><b>目次</b></p>
<img alt="このページの内容は、NetBeans IDE 7.3および7.4に適用されます" class="stamp" src="../../../images_www/articles/73/netbeans-stamp-74-73.png" title="このページの内容は、NetBeans IDE 7.3および7.4に適用されます">
<ul class="toc">
<li><a href="#requirements">要件</a></li>
<li><a href="#intro">概要</a></li>
<li><a href="#qtinstall">Qt 4ソフトウェアのインストール</a></li>
<li><a href="#creating">単純なQtアプリケーションの作成</a></li>
<li><a href="#conclusion">まとめ</a></li>
</ul>
<h2><a NAME="requirements"></a>要件</h2>
<p><b>このチュートリアルに従うには、次のソフトウェアが必要です。</b></p>
<table>
<tbody>
<tr>
<th class="tblheader" scope="col">ソフトウェア</th>
<th class="tblheader" scope="col">必須バージョン</th>
</tr>
<tr>
<td class="tbltd1"><a href="https://netbeans.org/downloads/index.html">NetBeans IDE</a> (C/C++のサポートを含む)</td>
<td class="tbltd1">7.3または7.4 (NetBeans C/C++プラグインをインストール済)</td>
</tr>
<tr>
<td class="tbltd1"><a href="http://www.oracle.com/technetwork/java/javase/downloads/index.html">Java Development Kit</a> (JDK)</td>
<td class="tbltd1">バージョン7</td>
</tr>
<tr>
<td class="tbltd1"><a href="../../../community/releases/74/cpp-setup-instructions.html">GNU C/C++コンパイラ(GCC)</a></td>
<td class="tbltd1">NetBeans IDEでサポートされるバージョン。<br>Windowsでは、MinGWが必要です。 </td>
</tr>
<tr>
<td class="tbltd1"><a href="#qtinstall">Qtライブラリ</a></td>
<td class="tbltd1">バージョン4.8 <br>このチュートリアルではQt 5は動作しないので注意してください。</td>
</tr><tr><td>
</tr>
</tbody>
</table>
<br>
<p>NetBeansに必要なソフトウェアのダウンロードとインストールについては、<a href="../../../community/releases/74/install.html">NetBeans IDEのインストール手順</a>を参照してください。
</p>
<h2><a name="intro"></a>概要</h2>
<P>NetBeans IDEでは、Qtプロジェクトの作成、ビルド、実行、デバッグをIDE内で実行できます。Qmake、MOCおよびuicなどのQtツールは、必要に応じて自動的に起動します。これらについては考慮する必要はありません。また、知っておかなくても問題ありません。この記事では、Qt 4.8を使用するようにNetBeans IDEを構成し、単純なQtアプリケーションを作成する方法を示します。 </P>
<h2><a name="qtinstall"></a>NetBeans IDEで使用するためのQtソフトウェアのインストール</h2>
<p>QtアプリケーションをIDEで作成する前に、Qtソフトウェアをインストールし、それを使用するようにNetBeansを構成する必要があります。 </p>
<p class="notes"><strong>重要: このチュートリアルに従うにはQt 4.8を使用する必要があります。<br><br>Qt 5を使用する場合は次の記事を参照してください。<br> <a href="http://wiki.netbeans.org/Talk:HowToSetup64-BitQt5WithNetBeans7.4OnWindows">64ビットQt 5をWindows上のNetBeans 7.4で設定する方法</a></strong><br> </p>
<p>使用しているプラットフォームのQtの設定手順を参照してください。</p>
<ul type="disc">
<li><a href="#setupwin">NetBeans IDE向けQtの設定(Windowsの場合)</a></li>
<li><a href="#setuplinmac">NetBeans IDE向けQtの設定(LinuxまたはMac OS Xプラットフォームの場合)</a></li>
<li><a href="#setupsolaris">NetBeans IDE向けQtの設定(Oracle Solarisプラットフォームの場合)</a></li>
</ul>
<h3><a name="setupwin"></a>NetBeans IDE向けQt 4.8の設定(Windowsの場合)</h3>
<p>これらの手順では、このチュートリアルを作成するためにWindowsにインストールされたソフトウェアについて説明します。 </p>
<h4>Windowsに必要なソフトウェアのダウンロード</h4>
<ol>
<li><a href="../../../community/releases/74/cpp-setup-instructions.html">C/C++/Fortran向けのNetBeans IDEの構成</a>の説明に従って、NetBeans IDEおよびC/C++プラグイン・モジュールをインストールします。コンパイラはまだインストールしないでください。</li>
<li>NetBeans IDEを終了します。</li>
<li><a href="http://sourceforge.net/projects/mingw">http://sourceforge.net/projects/mingw</a>からMinGWのインストーラをダウンロードします。</li>
<li>MinGWのインストーラを実行します。インストーラには、<tt>mingw-get-inst-20120426.exe</tt>のようなファイル名が付けられています。</li>
<li>MinGWのインストーラで、次のコンポーネントをインストール対象として選択します。
<ul><li>C</li>
<li>C++</li>
<li>MSYS Basic System</li>
<li>MinGW Developer Toolkit</li>
</ul>
インストーラがソフトウェア・パッケージをダウンロードおよび抽出するのに少し時間がかかります。デフォルトでは、MinGWは<tt>C:\MinGW</tt>にインストールされます。</li>
<li>次のQtソフトウェアを<a href="http://qt-project.org/downloads">http://qt-project.org/downloads</a>からダウンロードし、インストールします。<br>
<ul><li>Qt libraries 4.8.5 for Windows (minGW 4.4 317 MB) </li>
<li>Qt Creator 2.8.1 for Windows (51 MB) </li></ul>
</ol>
<h4>Windowsパスの編集</h4>
<p>WindowsのPATH環境変数を編集して、Qt、MinGWおよびMSYSのバイナリへのパスを追加する必要があります。デフォルトの場所にインストールした場合、パスは次のようになります。</p>
<ul>
<li><tt>C:\Qt\4.8.5\bin</tt></li>
<li><tt>C:\MinGW\bin</tt></li>
<li><tt>C:\MinGW\MSYS\1.0\bin</tt></li>
</ul>
<p><b>Path環境変数にパスを追加する手順:</b></p>
<ol>
<li>「環境変数」ウィンドウを開きます。
<ul>
<li>Windows XPおよびWindows 2000の場合: 「マイ コンピュータ」を右クリックし、「プロパティ」→「詳細設定」タブを選択して、「環境変数」ボタンをクリックします。</li>
<li>Windows VistaおよびWindows 7の場合: 「コンピュータ」を右クリックし、「プロパティ」→「システムの詳細設定」リンクを選択して、「環境変数」ボタンをクリックします。</li></ul>
<li>「環境変数」ウィンドウの「システム環境変数」セクションでPath変数を選択し、「編集」をクリックします。</li>
<li>パスの最後にセミコロンを挿入し、Qt、MinGWおよびMSYSの実行可能ファイルのパスを追加します。パスの間にはセミコロンを使用します。スペースは使用しないでください。すでにPATHに設定されている内容を削除しないように注意してください。削除すると、コンピュータが正しく動作しなくなる可能性があります。<br>
<p>終了すると、パスは次のようになります。</p>
<pre>%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;
%SYSTEMROOT%\System32\WindowsPowerShell\v1.0;C:\MinGW\bin;C:\MinGW\MSYS\1.0\bin;C:\Qt\4.8.5\bin</pre>
</li>
<li>「環境変数」ウィンドウで「OK」をクリックします。</li>
</ol>
<h4>MinGWおよびQtのツール・コレクションの作成</h4>
<p>MinGWコンパイラ、MSYSコマンドおよびQtコマンドを使用する新規ツール・コレクションを作成する必要があります。</p>
<p><b>新規ツール・コレクションを作成する手順:</b></p><ol>
<li>NetBeans IDEを起動し、「ウィンドウ」→「サービス」と選択して「サービス」ウィンドウを開きます。
<li>「C/C++ビルド・ホスト」ノードと「ローカル・ホスト」ノードを展開し、「ツール・コレクション」ノードを右クリックして「新規ツール・コレクションの追加」を選択します。<br><br> <img alt="「新規ツール・コレクションの追加」オプションのスクリーンショット" class="b-all margin-around" src="../../../images_www/articles/73/cnd/qt/qt-addtool.png"></li>
<li>ツール・コレクションの「ベース・ディレクトリ」に、MinGWインストール構成のbinディレクトリ(例: <tt>C:\mingw\bin</tt>)を指定します。<br>「ツール・コレクション・ファミリ」と「ツール・コレクション名」は、MinGWとして自動的に入力されます。
</li>
<li>「ツール・コレクション名」を「MinGW_Qt」に変更し、「OK」をクリックします。<br>
</li>
<li>「サービス」ウィンドウの「ツール・コレクション」ノードで新規MinGW_Qtツール・コレクションを右クリックし、「プロパティ」を選択します。<br>ツールのパスは次の図のようになります。<br> <img SRC="../../../images_www/articles/73/cnd/qt/qt-toolpaths.png" alt="MinGWツール・パスを示すスクリーンショット" class="margin-around">
</li>
<li>「makeコマンド」と「qmakeコマンド」のパスを確認し、必要に応じて修正します。<br>「makeコマンド」は<tt>C:\MinGW\MSYS\1.0\bin\make.exe</tt>コマンドで、「qmakeコマンド」は<tt>C:\Qt\4.8.5\bin\qmake.exe</tt>である必要があります。</li>
<li>「MinGW_Qt」を選択した状態で「デフォルト」ボタンをクリックして、これをデフォルトのツール・コレクションにします。</li>
<li>この記事の<a href="#creating">単純なQtアプリケーションの作成</a>に進みます。</li>
</ol>
<h3><a name="setuplinmac"></a>NetBeans IDE向けQtの設定(LinuxまたはMac OS Xプラットフォームの場合)</h3>
<ol><li>LinuxまたはMac OS Xプラットフォーム用のQtライブラリを<a href="http://qt-project.org/downloads" target="_blank">http://qt-project.org/downloads</a>からダウンロードするか、Linuxパッケージ・リポジトリから取得します。</li>
<li>コンパイラがシステムにまだ存在していない場合は、<a href="../../../community/releases/74/cpp-setup-instructions.html">C/C++/Fortran向けのNetBeans IDEの構成</a>の説明に従ってインストールします。 </li>
<li>コンパイラおよびQtツールへのパスをPATH環境変数に追加します。</li>
<li>ターミナル・ウィンドウで、「<tt>qmake -v</tt>」および「<tt>gcc --version</tt>」と入力して、コマンドがパスにあることを確認します。</li>
<li>ツールがコマンド・ラインから使用可能な場合は、NetBeans IDEを起動し、「ツール・コレクション」のプロパティをチェックして、コンパイラ、makeコマンドおよびqmakeコマンドへのパスが正しいことを確認します。</li>
<li>この記事の<a href="#creating">単純なQtアプリケーションの作成</a>に進みます。</li>
</ol>
<h3><a name="setupsolaris"></a>NetBeans IDE向けQtの設定(Oracle Solarisプラットフォームの場合)</h3>
<p>Oracle Solarisプラットフォームでは、Qtのバイナリは使用できません。ただし、ソースからQtをビルドし、NetBeans IDEで使用することはできます。
</p>
<ol>
<li><a href="../../../community/releases/74/cpp-setup-instructions.html">C/C++/Fortran向けのNetBeans IDEの構成</a>の説明に従って、コンパイラをインストールします。 </li>
<li>Qtソースを<a href="ftp://ftp.qt-project.org/qt/source/">ftp://ftp.qt-project.org/qt/source/</a>からダウンロードします。</li>
<li>ビルドの手順は、Qtドキュメント<a href="http://qt-project.org/doc/qt-4.8/install-X11.html">Qt for X11プラットフォームのインストール</a>を参照してください。</li>
<li>Qtバイナリを正常にビルドした後で、PATH環境変数を編集してQtバイナリにパスを追加します。</li>
<li>ターミナル・ウィンドウで、「<tt>qmake -v</tt>」および「<tt>gcc --version</tt>」と入力して、コマンドがパスにあることを確認します。</li>
<li>GNUコンパイラおよびQtツールをコマンド・ラインから使用可能な場合は、NetBeans IDEを起動します。 </li>
<li>「ツール・コレクション」のプロパティをチェックして、コンパイラおよびqmakeコマンドへのパスが正しいことを確認します。</li>
<li>この記事の<a href="#creating">単純なQtアプリケーションの作成</a>に進みます。</li>
</ol>
<H2><a name="creating"></a>単純なQtアプリケーションの作成</H2>
<P>このチュートリアルでは、Hello Qt Worldサンプルに似た、単純な「Hello World」Qtアプリケーションを作成します。このサンプルは、「サンプル」→C/C++→「Hello Qt World」にあります。</P>
<p>これらの手順はWindowsプラットフォーム用に記述されています。Linux、MacおよびSolarisプラットフォームのユーザーは、<tt>qmake</tt>へのパスが正しく指定されたGNUツール・コレクションを使用して同じ手順を実行できます。
<ol>
<li>まず、新しいプロジェクトを作成します。「新規プロジェクト」ダイアログで「C/C++ Qtアプリケーション」を選択し、「次」をクリックします。<br> <img alt="「新規プロジェクト」ダイアログ" class="b-all margin-around" src="../../../images_www/articles/73/cnd/qt/qt-create-new-project.png">
</li>
<li>次のダイアログで、必要に応じてプロジェクト名と場所を変更します。
<p>「mainファイルの作成」を選択し、MinGW_qtツール・コレクションを選択して「終了」をクリックします。</p>
<img alt="新規Qtプロジェクト・ダイアログ" class="b-all margin-around" src="../../../images_www/articles/73/cnd/qt/qt-create-main-file.png">
<p>新規に作成したプロジェクトは次の図のようになります。</p>
<img alt="Qtプロジェクトとmain.cppファイル" class="b-all margin-around" src="../../../images_www/articles/73/cnd/qt/qt-app-maincpp.png">
</li>
<li>プロジェクト・ノードを右クリックし、「プロパティ」を選択して「プロジェクト・プロパティ」ダイアログを開きます。「Qt」カテゴリをクリックします。上級ユーザーはQtプロジェクト・プロパティで多数の改造を加えることができますが、このチュートリアルではすべてこのままにする必要があります。<br> <img SRC="../../../images_www/articles/73/cnd/qt/qt-project-properties.png" alt="Qtプロジェクト・プロパティ・ダイアログ" class="b-all margin-around">
</li>
<li>「実行」カテゴリをクリックし、「コンソール・タイプ」プロパティを「外部ターミナル」に設定して「OK」をクリックします。</li>
<li>次に、フォームを作成できます。「リソース・ファイル」を右クリックし、「新規」→「Qtフォーム」を選択します。<br> <img SRC="../../../images_www/articles/73/cnd/qt/qt-app-resource-files.png" alt="Qtプロジェクトへのリソース・ファイルの追加" class="b-all margin-around">
</li>
<li>「新規Qtフォーム」ダイアログで、「フォーム名」に「<b>HelloForm</b>」と入力し、「フォーム・タイプ」で「ボタンの無いダイアログ」を選択します。「C++ラッパー・クラスを作成」をチェックし、「終了」をクリックします。<br> <img SRC="../../../images_www/articles/73/cnd/qt/qt-new-form.png" alt="Qtの新規フォーム" class="b-all margin-around">
<p><tt>HelloForm.ui</tt><tt>HelloForm.cpp</tt>および<tt>HelloForm.h</tt>の3つのファイルが作成され、IDEでQt Designerが自動的に開き、ここで新しいフォーム<tt>HelloForm.ui</tt>を編集できます。</p>
<img SRC="../../../images_www/articles/73/cnd/qt/qt-designer.png" alt="自動で開いたQt Designer" class="b-all margin-around">
</li>
<li>GUIのスキルを使用し、次に示すようなフォームを作成します。フォームに2つのQLineEditウィジェットを追加し、最初のウィジェットの名前を「<tt>nameEdit</tt>」に変更し、2番目のウィジェットの名前を「<tt>helloEdit</tt>」に変更します。<br> <img SRC="../../../images_www/articles/73/cnd/qt/qt-designer-form.png" alt="Qt Designerと作成したフォーム" class="b-all margin-around">
</li>
<li>フォームの作成を終了したら、保存してQt Designerを閉じます。プロジェクトは次の図のようになります。<br> <img SRC="../../../images_www/articles/73/cnd/qt/qt-hello-form.png" alt="Helloフォームのソース・ファイル" class="b-all margin-around"> <br>
<P>新しく作成されたHelloFormファイルは、すべて同じ「リソース・ファイル」論理フォルダに配置されます。CPPファイルを「ソース・ファイル」に、Hファイルを「ヘッダー・ファイル」に配置するには、これらのファイルをドラッグして目的の論理フォルダにドロップするのみで実行できます。</P>
<P>壊れた<tt>#include</tt>ディレクティブの存在を示す小さな疑問符が「プロジェクト」タブに表示されます。赤い下線の付いた<tt>setupUi</tt>は、壊れた<tt>#include ui_HelloForm.h</tt>ディレクティブの結果であり、<tt>HelloForm.h</tt>ファイルに出現します。<tt>ui_HelloForm.h</tt>インクルード・ファイルは実際には存在せず、プロジェクトの最初のビルド時に生成されます。これがQtのビルドシステムの動作の仕方です。 </P>
</li>
<li>ツールバーの「プロジェクトをビルド」ボタンをクリックすると、<tt>ui_HelloForm.h</tt>ファイルが生成されたときにエラーの表示が消えます。</li>
<li><tt>main.cpp</tt>を開き、次の図の行17および18に示すようにHelloFormを作成および表示する2行のコードを挿入します。行9に示すように<tt>HelloForm.h</tt>を忘れずにインクルードしてください。<br> <img SRC="../../../images_www/articles/73/cnd/qt/qt-hello-form-edit.png" alt="Helloフォームのソース・ファイルの編集" class="b-all margin-around">
</li>
<li>ツールバーの「実行」ボタンをクリックしてアプリケーションを実行します。<br>最初にターミナル・ウィンドウが表示されてから、Qt Designerで作成したダイアログ・ボックスが表示されます。</li>
<li>テキスト・フィールドに何か入力して[Enter]を押しても、何も表示されません。
<P>アプリケーションが応答できるようにするには、スロットを定義し、それをテキスト・フィールドによって起動される<tt>textChanged</tt>シグナルに接続する必要があります。Qtシグナルとスロットの詳細は、<a HREF="http://doc.qt.digia.com/4.6/signalsandslots.html" TARGET="_blank">http://doc.qt.digia.com/4.6/signalsandslots.html</a>を参照してください。</P>
</li>
<li><tt>HelloForm.h</tt>に移動し、次の図の行18および19に示すようにこのスロットを宣言します。<br> <img SRC="../../../images_www/articles/73/cnd/qt/qt-hello-form-h.png" alt="Helloフォームのインクルード・ファイルの編集" class="b-all margin-around">
</li>
<li>次に<tt>HelloForm.cpp</tt>に移動し、次の図の行17から23に示すようにスロット定義を挿入します。<br> <img SRC="../../../images_www/articles/73/cnd/qt/qt-hello-form-slot.png" alt="フォームのソース・ファイルへのスロットの追加" class="b-all margin-around">
</li>
<li>最後に、次の図の行12および13に示すように、HelloFormコンストラクタにコードを何行か挿入することで、シグナルとスロットを関連付けます。<br> <img SRC="../../../images_www/articles/73/cnd/qt/qt-hello-form-cpp.png" alt="Helloフォーム・コンストラクタへのスロットの追加" class="b-all margin-around">
</li>
<li>ここで、アプリケーションを実行し、ダイアログが表示されたら一番上の入力フィールドをクリックして名前を入力すると、次に示すように下のフィールドにHelloとエコーされます。<br> <img SRC="../../../images_www/articles/73/cnd/qt/qt-app-running.png" alt="QtのHello Worldアプリケーションの実行" class="b-all margin-around">
</li>
</ol>
<H2><a name="conclusion"></a>まとめ</H2>
<p>この記事では、NetBeans IDEをQtライブラリおよびツールとともに使用できるように環境を設定する方法を示しました。</p>
<P>QtアプリケーションをNetBeansで作成および開発し、フィード・バックを<a HREF="mailto:users@cnd.netbeans.org">CNDメーリング・リスト</a>および<a href="https://forums.netbeans.org/cnd-users.html">NetBeans C/C++ユーザーのフォーラム</a>にお送りください。</P>
<P>不具合の報告や機能についてのご提案がありますか。ある場合は、<a HREF="https://netbeans.org/bugzilla/enter_bug.cgi?component=cnd">https://netbeans.org/bugzilla/enter_bug.cgi?component=cnd</a>に報告してください。報告するには、netbeans.orgに登録する必要があります。</P>
<h2>関連項目</h2>
<p>NetBeans IDEでのC/C++/Fortranを使用した開発に関する詳細な記事は、<a href="https://netbeans.org/kb/trails/cnd.html">C/C++の学習</a>を参照してください。</p>
<div class="feedback-box"><a href="mailto:users@cnd.netbeans.org?subject=Feedback:%20Working%20with%20Qt%20Applications%20-%20NetBeans%20IDE%207.4%20Tutorial">このチュートリアルに関するご意見をお寄せください</a></div>
<br style="clear: both;">
</BODY>
</HTML>