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

Archives Details

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

C++

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フレームワークと言うこともあって、ぼちぼち扱っていこうかなと思います。

ではではぁまたまたぁ。

Comment

Related Article

【Qt】Mac開発 ソートダイアログ (拡張するダイアログ)を作成

2021.04.01

【Qt】Macの、Qt Creatorで Dialog GUI作成

2020.12.29

【Qt】Macで、Qt Creatorをbrew installしてサクッと起動する。

2020.12.14

Macで、Qt5 開発 QPushButton、QSliderなどウィジェット作成

2020.12.13

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

2020.12.02

Webassembly用いて、SDL 2.0をブラウザでレンダリング

2020.08.10

MacOS Mojave (10.14.4)の Xcode に、過去のMacOSのSDKをインストール

2019.05.19

CMake インストール 使い方

2016.07.06

CATEGORY LIST

LATEST NEWS

Rust - Actix Web mongo ユーザー登録 JWT認証

Rust

2024.03.24

Rust - Actix Web JWT 認証認可 APIの作成

Rust

2024.02.25

Rust - Actix Web × JSON 静的ファイルをAPIで返却

Rust

2024.01.19

Rust - Actix Web × MongoDB環境をサクッと起動

Rust

2024.01.18

5分で学ぶ RustでWave Function Collapse (波動関数崩壊アルゴリズム)

Rust

2024.01.15

LLaMAモデル GGMLフォーマット(llama.cpp)をRustフレームワーク Leptosを用いて M1MacMiniでサクッと動かす。

Rust

2024.01.11

2024年 狙っているモバイルノートPC

tool

2024.01.07

MacOS XcodeにSDL2を追加

tool

2023.12.26

php 7.4にアップデート

PHP

2023.12.24

5分で覚える Flutter Flameで作る Wave Function Collapse - 波動関数崩壊アルゴリズム

AI・Bot・algorithm

2023.12.20

Flutter - Flameでゲーム作成 (キャラクターの移動)

Flutter

2023.07.23

Flutterで作る ChatGPT Prompt Manager

Flutter

2023.07.12

RANKING

Follow

SPONSOR

現在、掲載募集中です。



Links

About Us

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

Entry Profile

Graphical FrontEnd Engineer
- Daisuke Takayama

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

FOLLOW US