Raspberry Pi 4 でフォームアプリケーション開発 ~ Qt Creatorを入れよう

2020年10月7日

Raspberry Pi(ラズベリーパイ)でフォームアプリケーションを作成する時に使う統合開発環境の「Qt Creator」ですが、「Raspberry Pi Zero」の時は遅すぎて使用を断念しました。

しかし、今回購入した「Raspberry Pi 4」では十分な速度が期待できるので、セットアップしてみました。

1.Qt Creatorのインストール

Qt Creatorをインストールします。OSは「Raspbian Buster with desktop」を使っています。

Qt Creatorのインストール方法と環境設定は、以下の記事を参考にさせていただきました。

Qiita:Raspberry Pi でGUIアプリ開発、初めての手引き
TomoSoft様:PyQt5をRaspberry Pi「stretch」にインストール

※外部サイトへ移動します

インストールでエラーが出る場合は、以下の2つのコマンドで実行してみてください。

#sudo apt-get update
#sudo apt-get install qt-sdk qtbase5-dev libgl1-mesa-dev qt5-default –fix-missing

2.Qt Creatorの環境設定

次に、Qt Creatorの環境設定を行います。※参考にする場合は、最後まで記事を読んでからにしてください

Qt Creatorを起動を選択

Qt Creatorを起動します。メニューの「プログラミング」「Qt Creator」を選択します。

「ツール」「オプション」を選択

gccなどの環境を設定するため、メニューの「ツール」「オプション」を選択します。

「コンパイラ」タブがない

参考にしたサイトやネット上に出てくる例では「ビルドと実行」「コンパイラ」タブでgccの設定をするのですが、タブがありません。gccはインストールされていることを確認しましたが、何か環境で足りない部分があるのでしょうか。不足しているライブラリがあるのでは?といろいろ調べましたが分かりません。

既に環境はできている

試行錯誤していると、リスト項目に「Kits」があり、ここにコンパイラのタブがあります。見ると、自動検出にgccが設定されています。よって、コンパイラの設定は何もしなくて良いみたいです。

手動設定は必要ないということで、設定しません。

3.簡単なフォームアプリケーションを作る

それでは、簡単なフォームアプリケーションを作ってみます。フォーム上にプッシュボタンを1つ配置して、押されたらメッセージボックスが開くだけのフォームアプリケーションを作ってみました。Visual Studioを使ってきた人であれば、抵抗なく操作できるはずです。

プロジェクトの作成

ファイル」「ファイル/プロジェクトの新規作成」を選び、表示されたダイアログで「Qtウィジェットアプリケーション」を選びます。そして、ウィザードに従ってプロジェクト名などを指定してプロジェクトの作成を行います。

フォームにボタンを貼り付ける

デザインタブを選択すると、フォームを編集できます。プッシュボタンをドラッグ&ドロップしてフォームに貼り付けます。大きさや位置を調整してください。

そして、ボタンに表示する文字は、プロパティの「text」で指定します。Visual Studioと同じやり方ですね。

押された時のイベント処理を行うメソッド作成

Qt Creatorでは、イベント処理のメソッド作成がVisual Studioと少し違います。ボタンを選択して右ボタンメニューを表示して「スロットへ移動」を選択します。

するとダイアログが表示されるので、「Clicked」を選択します。

クリックされた時の処理を記述する

on_pushButton_clicked」のメソッドが出来たので、ここにボタンが押された時の処理を書きます。今回はメッセージボックスを表示するだけの処理を書きました。

ビルドする

ビルドを行います。いろいろなビルド方法があるので、その時々に適したビルドを選択してください。

ビルド結果を確認します。エラーもなく、実行形式が作成できました。

デバッグする

作成したプログラムの動作確認を行います。デバッガを起動します。

動作を確認する

フォームが表示されました。

ボタンを押すと、メッセージボックスが表示されました。問題なくプログラムが動作しました。

4.Raspberry Piのプログラムは楽しい

created by Rinker
Raspberrypi
¥8,900 (2020/11/27 23:22:05時点 Amazon調べ-詳細)

Qt Creatorを使ってきて、昔のWindowsの統合環境を思い出しました。昔はフォームをまず作って、そのコントロールに対してコードを書いていくプログラムを作成していました。特に、C++ Builder(version 6まで)は、快適なインタフェイスでプログラム作りが楽しかったです。

ところが現在、スマートフォンのプログラム開発では、再び難解なプログラム作成を余儀なくされています。確かにWindowsもAPIで作成していた頃は難解でしたが、Androidはアプリケーションの複雑化と仕様変更の速さで、苦痛しか感じなくなってきました。

そんな中でRaspberry Piのプログラム作成は、原点に戻った感じで楽しさを取り戻しました。フォームアプリケーションにも、楽しさがあります。少なくとも私は、プログラムの主体をRaspberry Piに持ってこようと思います。