WindowsのC++環境で、無料でGUIアプリケーションを開発するためには、以下のような候補がある。
- Visual Studio Express/Communityの.Netフレームワーク
- Visual Studio CommunityのMFC(Microsoft Foundation Class)
- Qt
まず、.Netフレームワークは、下記のリンクからダウンロードできるVisual Studio Express/Community両環境で利用できる。
- Visual Studio Express:https://www.visualstudio.com/ja-jp/products/visual-studio-express-vs.aspx
- Visual Studio Community:https://www.microsoft.com/ja-jp/dev/products/community.aspx
.NetフレームワークによるGUIアプリケーションの作成では、下図のようにVisual Studioでプロジェクトを作成する際に、「CLR」->「空のCLRプロジェクト」を選択する。
そして、下図のように「ソリューションエクスプローラ」で右クリックし、「追加」->「新しい項目」を選択し、「UI」->「Windowsフォーム」を選択し、フォームを作成する。
ただし、このままではcppファイルが空でビルド出来ないので、下記のサイトなどを参考にcppファイルを記入しプロパティで設定を変更する必要がある。
qiita.comhttp://mcn-www.jwu.ac.jp/~yokamoto/openwww/vsg/VCpp2012FormApp/
ここで、Visual Studio Communityは、Visual Studio Professional相当の機能を無償で利用できるものであるが、商用では中小規模の企業や団体(PC台数250台未満かつ年商1億円未満の企業や団体。当該組織は5名まで利用可能)に限定されている。ちなみに、Visual Studio Expressは、大規模の企業と団体でも利用可能である。Visual Studio Communityは、Expressの全機能を備えているので、中小企業で利用するには、Visual Studio Communityがお勧め。GUIアプリケーションの観点では、MFCが利用できる点が大きい。
MFCによるGUIアプリケーションの作成では、下図のようにVisual Studio Communityでプロジェクトを作成する際に、「MFC」->「MFCアプリケーション」を選択する。
「アプリケーションの種類」にて、「ダイアログベース」を選択した場合は次のようなプロジェクトが作成される。
Visual Studio Communityは、C#を用いたクロスプラットフォームを謳っていて、Windowsだけでなく、iOSやAndroidのアプリ開発が可能となっている。しかし、C++ベースのGUIアプリケーション開発という観点においては、クロスプラットフォームに対応していない。つまり、上記で紹介したCLRやMFCはあくまでもWindowsのみの対応となっている。
一方、C++ベースのGUIアプリケーション開発で、クロスプラットフォームに対応しているのは、Qtである。現在、Qtの最新バージョンは5.6で下記からダウンロードできる。
http://www.qt.io/
Qtには有料の商用ライセンスと、LPGLのオープンソースライセンスがある。ダウンロード時に、利用環境やLPGLライセンスに従うことができるかなどの質問に答える必要がある。インストーラを実行すると下図のような画面が表示されるので、5.6を選択してインストールする。
QtによるGUIアプリケーションの作成では、Qt_creatorを用いてGUIアプリケーションを開発する。GUIアプリケーションは、下図のように「Application」->「Qtウィジェットアプリケーション」を選択する。
下図のように、使用するコンパイラの候補が表示されるので、選択する。
GUIのデザインを編集するためには、下図のように、「フォーム」からuiファイルを選択し、「デザイン」ウィンドウを開く。
サンプルコードが豊富にあるので、参考にするとよい。