このサイトは、只今WEB業界で活躍中のデザイナー、プログラマーの方々の情報を集めたweb統合情報サイトです。

Macで、Qt5をbrew installしてサクッと起動する。

この記事は最終更新日から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フレームワークと言うこともあって、ぼちぼち扱っていこうかなと思います。

ではではぁまたまたぁ。

Related Article

LATEST NEWS

RANKING

ARCHIVE

SPONSOR

現在、掲載募集中です。



Links

現在、掲載募集中です。



About Us

WEBデザイナーの、WEBデザイナーによる、WEBデザイナーの為のサイト。「みんなで書こう!」と仲間を募ってみたが、結局書くのは自分だけとなってしまいました。日々のメモを綴っていきます。

Entry Profile

Graphical FrontEnd Engineer
- Daisuke Takayama

MAD CITY 北九州市で生まれ育つ。20代はバンド活動に明け暮れ、ふと「webデザイナーになりたい。」と思い、デジタルハリウッド福岡校入学。卒業後、数々の賞を受賞、web業界をざわつかせる。
現在、主に、ゲーム制作中心に港区六本木界隈で活動中。