Macで、Qt5をbrew installしてサクッと起動する。
2020.12.02
この記事は最終更新日から1年以上が経過しています。
どもです。
クロスプラットフォームなGUIフレームワークを探し求めたらQtに辿り着いたので(以前から知っていたが、やっと触る機会が出来た。)(Electronも良いのですが。)brew installでサクッと起動してみました。
前回の記事(去年)、「PythonでGUIアプリ開発「PyQt」を使った感想」でも書いた様に、QtはPythonで記述できる「PyQt」が存在したりするのですが、Windowsのコンパイルに悩まされた経験から「もうQt扱った方が早くない」と思って扱っている次第です。
と言う訳で、インストールして行きたいのですが、通常は公式サイトのダウンロードページにアクセスすると、使用しているプラットフォームに最適なインストーラーを検出して案内してもらえるのですが、どうもQtに会員登録(無料)が必要ぽい。
もっと簡単にインストールしたいなぁと、探していたらアーカイブページ(Qt 5.12インストーラー)からもダウンロードできるぽいなと、ダウンロード開始してみたところ、容量が2.7Bぐらいあって(Qt Createrとかも含まれてそう)ダウンロードが終わらないw
サクッと試したいのに。。
と、Home brew見てみるとbrew installできそうではありませんか!?
なので、早速インストール!!
Qtインストール
バージョン
- Mac OS 10.14.5
- Homebrew 2.6.0
- Apple clang version 11.0.0
Qtは、4.x系と5.x系でだいぶ仕様が変わっているみたい。グーグルさんで探してみてもまだ、4系の情報が多い状況。
brew install qtをすると、4系がインストールされる。と言う記事があったりするが、2020年12月2日調べだと、brew install qtでも5系がインストールされるぽい。
と言う事で、brew install qtを実行。
$ brew install qt
インストールされ、pathを通して下さいーなどメッセージが出る。
echo 'export PATH="/usr/local/opt/qt/bin:$PATH"' >> /Users/webcyou/.bash_profile
5.15.2がインストールされたっぽい。
/usr/local/Cellar/qt/5.15.2: 10,688 files, 365.0MB
.bash_profileなど編集してパスを通す必要があるのですが、brewだと以下のコマンドで通してくれる。
$ brew link qt --force
Qt Hello Worldプロジェクト作成
では早速、qtプロジェクトを始める為に、作業ディレクトリを作成して行きます。
$ mkdir hello $ cd hello/ $ vim hello.cpp
適当なエディタで「hello.cpp」ファイルを作成。
「Hello World!」を表示させるプログラムを書いて行きます。
hello.cpp
#include <QApplication> #include <QLabel> int main(int argc, char *argv[]) { QApplication app(argc, argv); QLabel *label = new QLabel("Hello World!"); label->show(); return app.exec(); }
描き終えたら、「qmake」コマンドを実行します。
$ qmake -project
「hello.pro」ファイルが生成されますので、再び「qmake」コマンドで、生成された「hello.pro」ファイルを指定します。
$ qmake hello.pro
すると、おお。「.qmake.stash」ファイルと「Makefile」が生成されています。
と言うことで、思い切って「makeコマンド」実行!!
$ make
ガーン。エラー。
hello.cpp:1:10: fatal error: 'QApplication' file not found #include <QApplication>
‘QApplication’が見つからない。との事。どうやら、Qt4では#include<QApplication>だったが、Qt5では、#include<QtWidgets/QApplication>の指定の変更が必要ぽいです。
#include <QtWidgets/QApplication>
更に、hello.proの末尾に以下を追加する必要だそうです。
hello.proの末尾
QT+=widgets
再度、makeコマンドを!
きたーーーー。
「hello.app」ディレクトリ以下にhello実行ファイルが生成されているので起動してみます。
$ ./hello.app/Contents/MacOS/hello
キター!!ウィンドウが立ち上がり、「Hello World!」のテキストが表示されました!
HTMLを表示
どうやら、HTMLを使用出来るみたいなので、先ほどテキストを表示させていたQLabelを変更させてみます。
QLabel *label = new QLabel("<h2>Hello World!</h2><font color=red>webcyou qt5 demo</font>", 0);
編集完了後、再び、makeコマンド実行。実行ファイルを起動。
$ make $ ./hello.app/Contents/MacOS/hello
おぉ。テキストの色も変わっています。
といった感じで、Qt5は強力なGUIフレームワークと言うこともあって、ぼちぼち扱っていこうかなと思います。
ではではぁまたまたぁ。