Qt Creator で Raspberry Pi3 向けのアプリケーションを開発しよう

# はじめに
先日 [Raspberry Pi 3 で Qt 5 をビルドして動かす方法](https://qiita.com/task_jp/items/428744efe67320cd4d6a) という記事を書き、Raspberry Pi 上で Qt アプリを開発するための準備をしました。

今回は、Qt Creator を利用して、実際にアプリケーションを書いて、実機上で動かしてみましょう。

# Qt Creator の設定
## クロスコンパイラの登録

Option > Kits > Compilers を開き、[クロスコンパイラの用意](https://qiita.com/task_jp/items/428744efe67320cd4d6a#raspberry-pi-%E3%81%AE%E3%82%AF%E3%83%AD%E3%82%B9%E3%82%B3%E3%83%B3%E3%83%91%E3%82%A4%E3%83%A9%E3%81%AE%E7%94%A8%E6%84%8F) で用意したものを登録します。
![Screenshot_20190618_004313.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13867/0ea61036-aec0-7aaa-634a-1cc2568cc2b8.png)
`~/com/github/raspberrypi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x86/bin/arm-linux-gnueabihf-gcc`
![Screenshot_20190618_004401.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13867/75e7627b-54bf-cede-8d69-4c559dcc66ab.png)
`~/com/github/raspberrypi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x86/bin/arm-linux-gnueabihf-g++`
`Apply` をクリックして、設定を反映させます。

## デバッガの登録

同じように gdb も登録したいところですが、raspbian が提供している gdb は Python がサポートされていないため、Qt Creator からは利用できませんでした。
![Screenshot_20190615_005816.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13867/ec2b4bc8-d18d-a17d-4ffb-9eec03e7d205.png)
`~/com/github/raspberrypi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x86/bin/arm-linux-gnueabihf-gdb`

## Qt の登録

[Qt のビルド](https://qiita.com/task_jp/items/428744efe67320cd4d6a#qt-%E3%81%AE%E3%83%93%E3%83%AB%E3%83%89) でインストールした qmake を登録します。
![Screenshot_20190618_010657.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13867/97a1ee8a-8b17-1fc6-faf9-63bed068cd8a.png)
`Apply` をクリックして、設定を反映させます。


## デバイスの登録

Devices を選択し、 `Add...` をクリックします。
![Screenshot_20190618_012105.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13867/d39963e8-60cf-764d-43e2-4880fafc2764.png)
`Generic Linux Device` を選択し、`Start Wizard` をクリックします。
![Screenshot_20190618_012137.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13867/eedb76f1-f53f-27b4-ff5d-e2f98876460c.png)
任意の名前と、IPアドレス、デバイスにログインするユーザー名を入力し、`Next >` をクリックします。
![Screenshot_20190618_012156.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13867/0b3834bd-e1fb-7f33-60c6-ac585e4adbf0.png)
ssh の公開鍵をデバイスに転送し、`Next >` をクリックします。
![Screenshot_20190618_012207.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13867/02bdfd58-33e9-12d0-0abc-613be0f7e1e2.png)
デバイスを登録する準備は完了です。`Finish` をクリックします。
![Screenshot_20190618_012221.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13867/e8750fbf-dc75-5652-1352-1bb3c9dcd6b4.png)
接続テストが行われます。`Close` で閉じましょう。
![Screenshot_20190618_010759.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13867/0beabae6-0315-6352-8615-d9d1f6a8b741.png)
`Apply` をクリックして、設定を反映させます。

## Kit の作成
![Screenshot_20190618_012957.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13867/67c44ce7-6869-2a1d-2be3-bb2842e55caf.png)
一通りの情報を選択・設定します。
`OK` ボタンで設定は完了です。

# アプリケーションの作成

では、早速アプリケーションを作ってみましょう。

と言いたいところですが、ここでは、既存のアプリケーションを動かすことにします。

https://github.com/task-jp/weather

Qt Creator で、`File` > `Open File or Project...` をクリックし、`Import Project` > `Git Clone` を選択し、`Choose...` をクリックします。
![Screenshot_20190618_015040.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13867/abd34995-ccb2-293f-3830-82438f347e56.png)
`git@github.com:task-jp/weather.git` （もしくは `https://github.com/task-jp/weather.git`) を任意のディレクトリにクローンします。
![Screenshot_20190618_015313.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13867/8f63ca14-9a7b-f6cc-9033-fcc69d10f32b.png)
![Screenshot_20190618_015353.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13867/ef82f226-45d8-241b-aeb7-b021b5da67d7.png)
先ほど作成した Raspberry Pi3 向けの Kit を有効にしましょう。
![Screenshot_20190618_015421.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13867/3164e481-f6b8-672b-f0e8-9ad11aaf8922.png)
Raspberry Pi3 の Kit でビルドをし、実行してみましょう！
![Screenshot_20190618_022929.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13867/4700708a-4bd5-c25b-af1b-211d264b8bd8.png)
![55b310bf-1d42-444e-93b3-53ac2a184d29.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13867/7f0b0e4e-1d89-3f3b-6a60-f10e8e335d97.jpeg)

# おわりに

Qt Creator に Raspberry Pi3 向けの設定をし、ボタン一つで実機上でアプリケーションを動作させることができました。

gdb の設定の関係で、C++ のデバッグはできていない状態ですが、QML のデバッガは利用可能になっています。

是非、色々作って実機上でサクッと動かしてみてください。