Qt は C++ で記述できるクロスプラットフォームな GUI フレームワークです。
クロスプラットフォーム(cross-platform)とは、Windows、macOS、Linux などの異なるオペレーティングシステムで、 同じソースコードのプログラムを実行できる仕組みのことです。多くの場合、同じソースコードファイルを、それぞれの OS 上で、 コンパイルするだけで実行できます。
フレームワーク(framework)とは、何かをするために便利なように作られた関数などを集めたものです。 GUI アプリケーション・フレームワークは、 GUI アプリケーションを作るためのフレームワークです。
のコーナーでは、Qt の言語的側面だけを説明します。
Qt GUI アプリケーションについては viava Cocoa / Qt をご覧になってください。
Qt は C++ をベースにしていますが、Qt 固有の特徴も持っています。
このコーナーでは、それらの Qt 固有の言語的側面を説明していこうと思います。
まず、Qt の開発環境をインストールします。
Qt の言語開発環境は、GUI 開発環境と同時にインストールされます。
ただし、別途 C++ の開発環境をインストールしておく必要があります。
C++ の開発環境については、多くのサイトで紹介されていますので、そちらを参照にしてインストールしてください。
すでに GUI 環境をインストール済みの方はこの節を飛ばしてください。
mac にインストールするには、Homebrew を使うのが一番便利です。
Homebrew がまだインストールされていない場合は Homebrew に訪問して、最初に表示される「インストール」のコマンドをコピーして、ターミナルで実行します。
そして、続けて、次を実行してください。
// インストールされた brew を点検します。
brew doctor
// 次が表示されたら OK です。表示されなかったら brew の指示に従ってください。
// なお macOS が古いバージョンの場合はをの旨表示されますが、それは無視していただいて結構です。
Your system is ready to brew.
// Qt をインストールします。
brew install qt
// パスを通すなどの、その他の処理は必要ないはずです。
// qt のバージョンを確認します。
qmake -v
// 結果
QMake version 3.1
Using Qt version 6.8.2 in /opt/homebrew/lib
Debian 系
Debian 系 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
// インストールされた Qt のバージョン確認
qmake -v
// 結果
QMake version 3.1
Using Qt version 5.15.8 in /usr/lib/aarch64-linux-gnu
Fedora (RPM) 系
Fedora 系の場合は、ターミナルで最新の Qt6 がインストールできます。
// Fedora (RPM) 系
sudo dnf install qt-creator
// QtCreator も一緒にインストールされますが、最新の Qt 6.8.2 がインストールされます。
// インストールされた Qt のバージョン確認
qmake -v
// 結果
QMake version 3.1
Using Qt version 6.8.2 in /usr/lib64
色々やってみましたが、Windows の場合、やはりコンパイラは Visual Studio が良く、 Qt は公式サイトからダウンロードしたほうが良いです。
手順は次のとおりです。
Visual Studio をすでにインストールしている人はこの項は飛ばしてください。
Visual Studio をお持ちでない人は、次のリンクから無料の Visual Studio 2022 community 版が ダウンロードできます。
Visual Studio 2022 コミュニティ エディション – 最新の無料バージョンをダウンロードする途中でインストールするコンポーネントを選ぶ画面があります。そこでは 「C++ によるデスクトップ開発」 は必ず選んでください。その他のコンポーネントはお好みで選んでください。
インストールが終了しましたら Visual Studio は終了してもらって構いません。
インストール後、コマンドプロンプトはVisual Studio 2022 Community 版の中にあるものを使います。私は ARM64 Native Tools Command Prompt for VS 2022 にしました。パスの設定は特に必要ありません。
コマンドプロンプト (ARM64 Native Tools Command Prompt for VS 2022) を起動します。
// 起動したときのディレクトリは次になっています。
C:\Program Files\Microsoft Visual Studio\2022\Community>
// ユーザーのホームディレクトリへは次のコマンドで移動します
cd c:\users/ユーザー名
// コンパイラの確認
cl
Microsoft(R) C/C++ Optimizing Compiler Version 19.43.34809 for ARM64
Copyright (C) Microsoft Corporation. All rights reserved.
// nmake の確認
nmake
Microsoft(R) Program Maintenance Utility Version 14.43.34809.0
Copyright (C) Microsoft Corporation. All rights reserved.
次のリンクからダウンロードするのが良いと思います。
https://www.qt.io/download-qt-installer-ossアカウントを作らなければなりませんし、最初は評価版のダウンロードになったりするかもしれませんが、 またこちらのリンクに戻ってきてダウンロードできます。
インストールはデフォルトの設定で大丈夫です。途中でインストールするパッケージを選択する画面がありますが。
「デスクトップ開発用のQt 6.8」には必ずチェックを入れてください。おそらくデフォルトでチェックが入っていると思います
「カスタムインストール」はしません。
インストール後、ネットワークへアクセスするのを許可するか問われる場合がありますが、私は「許可」しました。
インストールが完了しましたら、Qt は終了してもらって構いません。
そして次のパスを通します。お使いの環境によって通す場所は選んでください。
C:\Qt\6.8.2\msvc2022_arm64\bin
コマンドプロンプト (ARM64 Native Tools Command Prompt for VS 2022) を起動します。
// qmake の確認
qmake -v
// 結果
QMake version 3.1
Using Qt version 6.8.2 in C:/Qt/6.8.2/msvc2022_arm64/lib
無事にイントールできました。
Qt のバージョン確認は、qmake -v でできるので、 二度手間になりますが、ここではバージョン確認コマンドラインアプリを作ります。
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
// Windows の場合は出来上がった version.pro の末尾に次の一行を追加します。
CONFIG += console
// Makefile を作ります。
qmake
// 実行ファイルを作ります。
// Mac Linux の場合は make します。
make
// Windows の場合は nmake します。make じゃなく nmake です。
nmake
// エラーが表示されたら、version.cpp を見直して、make あるいは nmake する作業を繰り返します。
// Mac の場合は version ディレクトリに version.app ができあがります。
// GUI アプリケーションならこれをダブルクリックすると起動できますが、
// 今回はコマンドラインアプリなので次のようにして実行します
./version.app/Contents/MacOS/version
// 結果
Qt version: 6.8.2
// Linux の場合には version ディレクトリに version という実行ファイルが出来上がっていますのでそれをそのまま実行します
./version
// 結果 Debian
Qt version: 5.15.8
// 結果 Fedora
Qt version: 6.8.2
// Windows の場合は version ディレクトリの中の rlease ディレクトリに version.exe ができていますのでそれをそのまま実行します。
version
// 結果
Qt version: 6.8.2