Qt とは、C++ を使ったクロスプラットフォームな GUI アプリケーション・フレームワークです。
クロスプラットフォーム(cross-platform)とは、Windows、macOS、Linux などの異なるオペレーティングシステムで、
同じソースコードのプログラムを実行できる仕組みのことです。多くの場合、同じソースコードファイルを、それぞれの OS 上で、
コンパイルするだけで実行できます。
フレームワーク(framework)とは、何かをするために便利なように作られた関数などを集めたものです。 GUI アプリケーション・フレームワークは、GUI アプリケーションを作るためのフレームワークです。
Windows の場合は、 Qt Windows へのインストール にお進みください。
mac にインストールするには、Homebrew を使うのが一番良いと思います。
Homebrew がまだインストールされていない場合は Homebrew に訪問して、最初に表示される「インストール」のコマンドをコピーして、ターミナルで実行します。
そして、続けて、次を実行してください。
// インストールされた brew を点検します。
brew doctor
// 次が表示されたら OK です。表示されなかったら brew の指示に従ってください。
// なお macOS が古いバージョンの場合はをの旨表示されますが、それは無視していただいて結構です。
Your system is ready to brew.
// Qt をインストールします。
brew install qt
// パスを通すなどの、その他の処理は必要ないはずです。
Linux で最新の Qt6 をインストールするには
Qt | ソフトウェア開発ライフサイクルの各ステージに対応するフレームワーク
からダウンロードするしかないのですが、
アカウントを登録しなければならないので嫌がる人は多いみたいです。
Qt5 ならターミナルからインストールできます。
// Debiban 系
これはうまくいかない場合がある
sudo apt install qt5-default
私はこれにしました
sudo apt install qtbase5-dev qt5-qmake cmake
これだと Qt Creator もインストールできるみたい
sudo apt install -y qtcreator qtbase5-dev qt5-qmake cmake
// Fedora (RPM) 系
最新の 6.8.2 がインストールされました。
sudo dnf install qt-creator
バージョン確認は、qmake --version でできるのですが、
せっかくですので、バージョン確認コマンドラインアプリを作ります。
Qt はプロジェクト単位でアプリケーションの作成を管理します。まず、アプリケーション用のフォルダを作ります。
// お好きなところに version というフォルダ (ディレクトリ) を作り、そこへ移動します。
mkdir version && cd version
// そこに次の version.cpp を作ります
#include <QtCore>
#include <iostream>
int main() {
std::cout << "Qt version: " << qVersion() << std::endl;
return 0;
}
version ディレクトリで作業を続けます。
// プロジェクトを作ります。
qmake -project
// Makefile を作ります。
qmake version.pro
// make します。
make
// コードにエラーがありましたら、コードを修正して再び make します。
// プロジェクトから作り直す必要はありません。
// Mac の場合は version ディレクトリに version.app ができあがります。
// GUI アプリケーションならこれをダブルクリックすると起動できますが、
// 今回はコマンドラインアプリなので次のようにして実行します
./version.app/Contents/MacOS/version
// 結果
Qt version: 6.8.2
// Linux の場合には version という実行ファイルが出来上がっていますのでそれをそのまま実行します
./version
// 結果
Qt version: 5.15.8
window という作業用ディレクトリを作ります。
そして、そこに次に window.cpp を作ってください。
#include <QApplication>
#include <QWidget>
int main(int argc, char **argv) {
QApplication app(argc, argv);
QWidget window;
window.resize(300, 200);
window.setWindowTitle("My window");
window.show();
return app.exec();
}
window ディレクトリで次の作業を行います。
// プロジェクトの作成
qmake -project
// window.pro というファイルができていると思います。
// その末尾に次の行を追加してください。
QT += widgets
// Makefile を作ります。
qmake window.pro
// Make します。
make
// コードにエラーがありましたら、コードを修正して再び make します。
// プロジェクトから作り直す必要はありません。
実行
// Mac の場合は、window ディレクトリに window.app ができていると思います。
// ターミナルで実行するには次のようにコマンドします。
./window.app/Contents/MacOS/window
// Linux の場合は、window という実行ファイルが出来上がっています。これをそのまま実行します。
./window
Mac の場合、window ディレクトリにできている window.app (window という名前になっています) をダブルクリックしても起動します。
他の場所、例えばデスクトップに持って行ってもダブルクリックで起動します。
Debian、Fedora、Kali の場合も、window ディレクトリにできている window をダブルクリックしても起動します。
他の場所、例えばデスクトップに持って行ってもダブルクリックで起動します。
Ubuntu、Mint はシステムに登録しないとダブルクリックでは起動できなかったと思います。