RaspbianでQt QuickのHello World

Hello Qt World on Raspbian
最も有名なシングルボードコンピューター・Raspberry PiにQtを導入してハローワールドプログラムを作ってみましょう。

Raspberry Piの公式OSであるRaspbianをインストールしてデスクトップが表示されたら、まずはターミナル(LXTerminal)を起動して、システムのアップデートを行います。アップデートが完了したら、必要に応じて再起動します。
$ sudo apt-get update $ sudo apt-get upgrade $ sudo rpi-update
続いて、Qtの開発環境を導入します。Qt公式サイトで配布されているのはLinux Intel 64bit向けなので、そこからのインストールはできません。
$ sudo apt-get install qt5-default $ sudo apt-get install qtcreator
インストールが成功するとメインメニューの「プログラミング」にアプリが追加されます。
つづいてQt5およびQt QuickのSDKを導入すれば、最低限の環境が整います。
$sudo apt-get install qtbase5-dev $sudo apt-get install qtdeclarative5-dev
RaspbianのメインメニューよりQt Creatorを起動したら、コンパイラの設定を行います。メニューの「ツール→オプション→ビルドと実行」を選び、「コンパイラ」タブから、CとC++のGCCをそれぞれ追加し、このようにパスを指定します。
C++ /usr/bin/g++ C /usr/bin/gcc
「キット」タブに移り、先ほど指定したコンパイラをそれぞれ割り当てます。
それではアプリを作ってみましょう。「ようこそ」画面を表示させたら、「新しいプロジェクト→Qt Quickアプリケーション」を選択します。
プロジェクト名以外は標準のままで設定を完了します。
QMLファイルはUWPアプリにおけるXAMLにあたり、このファイルにレイアウトやアニメーションルーチンなど、UI処理に係る事項を記述します。
JSONがモチーフになっているため、XMLよりも見た目が簡潔です。基本的なルールは下記の通りですが、property値やimportなどのより高度な使い方は追って説明します。


このプロジェクトではウィンドウとフォームのQMLが分離されています。プロジェクトから「MainForm.ui.qml」をダブルクリックして、UIデザイナーを起動してみましょう。
Rectangleは四角形を描画します。単純にグループを作成したいのであればItemを使うとよいでしょう。

MouseAreaはマウス操作のイベントを検知するコンポーネントです。もしマルチタッチ操作を検知したいのであればMouseAreaの代わりにMultiPointTouchAreaを使います。

TextEditにはテキストを入力できます。QMLでは基本的に入れ子にできるコンポーネントに制限はなく、このサンプルではmarginを負の値にした矩形がテキストボックスの中に配置されており、これが外枠のようにふるまっています。
textEditを選択し、「テキスト」のプロパティーを置き換えたら、メニューの「デバッグ」より「デバッグ開始」で、プログラムを実行してみます。
C++コードには全く手を加えていないので、この状態でコンパイルエラーが出るようであれば、コンパイラーのgccやQt SDKが正しくインストールされていない可能性があります。
2018/10/24