Qtは、C++でGUIアプリを作成できるアプリケーション開発フレームワークで、C++を勉強するには最適だと思います。
Qtを使用せずにC++でボタンやスクロールバーなどを作ろうとすると面倒ですが、
Qtではそれらが既にクラス化されていて、簡単に作成することができます。
更に、LinuxでもAndroidでも、コンパイル手順を変えることで、
OSに依存せずに、同一のソースコードで動作することができます。
また、Qtには、QtCreatorというAndroidStudioのような統合開発環境がありますので、
アプリ画面の構成もマウスのドラッグ&ドロップで、簡単に作成することができます。
ここでは、LinuxであるUbuntu20.04にQt5とQtCreatorをインストールする手順を書いていきたいと思います。
そして、QtCreatorの使い方についても少しですが、解説したいと思います。
1.Qt5のインストール
現時点でのQtの最新バージョンは、Qt6なのですが、Qtのサイトからダウンロードしてインストールする際に、Qtのアカウントが必要になります。
Qtのアカウント作成は簡単なのですが、私は作りたくなかったので、
アカウント無しでもインストールできる下記を実行します。
$ sudo apt install -y qt5-default
インストール後、Qtのバージョンを確認します。
$ qmake -v
バージョンは、Qt5.12で、少し古いかもしれませんが、QtやC++の勉強としては、十分です。
2.QtCreatorのインストール
QtCreatorのインストールは、下記を実行します。
$ sudo apt install -y qtcreator
インストール確認として、バージョンを確認します。
$ qtcreator -version
これでQtCreatorのインストールは、完了です。
3.QtCreatorの起動とエラー解消手順について
QtCreatorの起動は、ターミナルから下記を実行します。
$ qtcreator
実行後、下図のようにQtCreatorのウィンドウが表示されます。
上図の赤枠からプロジェクトを作成します。
そして、main.cppを表示するとウィンドウ内に下図の赤枠のエラーが表示される状態になります。
この解消法は、まずウィンドウのメニューバーの「ヘルプ」ー>「プラグインについて」をクリックすると下記ウィンドウが表示されます。
上図の赤枠の「C++」->「ClangCodeModel」のチェックを外して、
QtCreatorを再起動すると、エラーを解消することができます。
4.QtCreatorの使い方について
プロジェクトを開くと、左側にソースツリーが表示されます。
その中の「Forms」のmainwindow.uiをクリックします。
クリックすると、ウィジェットをドラッグ&ドロップで配置することができるデザイン画面になります。
例えば、ボタンを配置してみます。操作は、下図のように赤枠「Push Button」をマウスでドラッグして、
真ん中のグレーの部分にドロップします。
この状態では、まだmainwindow.cppにはボタンのコードは生成されていません。
配置したボタン上で右クリックして、その状態から「スロットへ移動」をクリックします。
下図では、もう一つボタンを配置して、そのボタン上で右クリックした状態です。
クリック後、下図のようにボタンに対しての動作を選択できるウィンドウが表示されます。
ここでは、ボタンをクリックした時に動作する「clicked()」を選択して、「OK」を押します。
押下後、下図の赤枠のように追加したボタンに対する空関数のコードがmainwindow.cppに生成されます。
(同様に、最初に作ったボタンにも「clicked()」を選択しておきました。)
空関数とは、関数名や引数だけがあり関数処理が無い状態の関数のことを言います。
追加された空関数の処理の実装は、自分でプログラミングしていくことになります。
ここでは、処理の実装をしませんが、下図の赤枠をクリックして実行してみます。
実行すると下図のようにアプリ画面が表示されます。
ドラッグ&ドロップでウィジェットを作成して、そのウィジェットに対する操作の関数作成がマウスのみでできるので、
QtCreatorを使用するとQtのクラス名や操作に対する関数名をあまり知らなくても、
ある程度プログラミングすることができます。
5.最後に
以上で、Qtのプログラミング環境が整いました。
冒頭でも言いましたが、C++を勉強するならGUIアプリが簡単に作成できるQtで始めるのが一番良いと思います。
Qtは、統合開発環境のQtCreatorがありますのでAndroidStudioのように、
画面構成をドラッグ&ドロップできたり、クラス名を知らなくてもテキストやボタンなど、
様々なウェジェットを作成することができます。
C++はもちろん、まずはプログラミングをやってみようと思っている方にも、Qtは最適だと思います。
<関連・おすすめ記事>
QCalendarWidgetクラスの使い方をプログラムをもとに解説 - 水瓶座列車
QTableWidgetクラスの使い方をプログラムをもとに解説 - 水瓶座列車
Linux勉強用の中古パソコンおすすめショップランキング - 水瓶座列車
プログラミングを独学で勉強するためのLinuxパソコン準備手順 - 水瓶座列車
C言語の始め方と基本構造、コンパイルから実行までを解説 - 水瓶座列車
RaspberryPi (ラズパイ)の購入時に最低限必要なものとおすすめセット - 水瓶座列車