*

QtでRaspberryPi/GUI開発(4):イベントハンドラの設定

公開日: : C++, C言語, Qt, RaspberryPi, 開発

どもです。
前回のエントリーで、「タッチスクリーンを買った」と書きました。
今回からは、このタッチスクリーンを使用たQtアプリケーションの開発に向けて、エントリーを作成していきます。
(と言いつつも、タイトルには「(4)」の文字…。ぷっ!)

1.イベントハンドラ
「イベントハンドラ」は、ボタンが押されたりした際に呼び出される関数です。
そのため、「GUIの部品」(Widget)に「どのような処理」が行われたら(イベント)、「どの関数(イベントハンドラ)を呼び出すか」を指定する必要があります。
Qtでは、これは下記のようにして指定します。

日本語で書くと長くなるので、ボタンの押下に対する実装例を書いてみます。
ココでは、objectNameが”sampleButton”というボタンをクリックした際に、onSampleButtonClicked()という処理が呼び出される実装を例にします。

なお、イベントハンドラ(上記例での、onSampleButtonClicked())の宣言についてはルールがあります。
即ち、アクセス修飾子に「slots」を追記して、そのセクションが「SLOT」の宣言であることを明記する必要があります。
具体的には、下記の通りです。

2.イベントハンドラを簡単に
Qtでイベントハンドラを実装する際、設定しなければならないイベントハンドラが少なければよいのですが、数が多くなった場合、1つ1つに対して上記のようなconnect()呼び出しを実装するのは手間です。
しかし、Qtにはそれを回避する実装方法が提供されています。
下記に示すフォーマット(?)で関数を宣言することで、Qtが自動でWidgetとイベントハンドラを紐付けてくれます。

なお、宣言については、アクセス修飾子に「slots」が付加された範囲に記載する必要があります。

以上、今回はイベントハンドラの実装について記載しました。
次回は、何とかタッチスクリーンを表示できるものを!!

ではっ!

関連記事

raspberry-pi

QtでRaspberryPi/GUI開発(1):ためしに時計を作ってみた

どもです。 また更新の間隔が空いてしまいました。 久しぶりの更新です。 前回のエントリーで

記事を読む

Splash

EV3開発サポートツール(3)-Ev3Controller

どもです。 今回は、以前ちらりと紹介した、Ev3のモーターの出力を調整するアプリケーションについて

記事を読む

no image

Windows/EclipseでRaspberryPiのクロス環境を構築してみた

どもです。 今回は、Windows/EclipseでRaspberry Piのクロス環境を構築した

記事を読む

toppers

C言語でEV3開発(22)-ロギング機能

どもです。 前回は、モーターの出力を制御する方法について記載しました。その際に、モータ/車体が期待

記事を読む

raspberry-pi

QtでRaspberryPi/GUI開発(7):pigpioを使用したチャタリング対策の問題

どもです。 前回のエントリーで、pigpioを使用したチャタリング対策について記載しました。 今

記事を読む

Arduino_Logo

1台のarduinno nanoで割込みとSPIの同時使用

どもです。 先日手に入れたArduino nano(中華)で遊んでいます。 今回、この1台のAr

記事を読む

no image

C言語でEV3開発(14)-opOUTPUT_TIME_SPEEDコマンド

どもです。 今回のエントリーは、モーターを動かすコマンドである「opOUTPUT_TIME_SPE

記事を読む

eclipse_cdt_top_100

C言語でEV3開発(3)

どもです。 今回のエントリーの内容は、前回まででセットアップした環境で、実際にEV3上で動く実行フ

記事を読む

no image

C言語でEV3開発(12)-opOUTPUT_TIME_POWERコマンド

どもです。 今回のエントリーでは、これまた前回に引き続き、モーターを動かすためのコマンドについて書

記事を読む

toppers

C言語でEV3開発(19)-コマンド通信処理でEchoBackしてみた

どもです。 前回は、Bluetoothの接続状態の変化に伴う、状態遷移について書きました。 今回

記事を読む

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

RasPi_Qt
Rasbianの新しいバージョンが出たので、クロス環境を更新してみた。(その後)

どもです。 前回、Linux/RaspberryPiでのQt(Q

RasPi_Qt
Rasbianの新しいバージョンが出たので、クロス環境を更新してみた。

どもです。 RaspberryPiのOS:Raspbianの新し

no image
RaspberryPiのOS:RaspbianをNOOBSでセットアップしてみた

どもです。 今回の内容は、「今更!?」ですがNOOBSでRasp

GitHub
C/C++のスタブを自動生成するツールを公開しました

どもです。 突然ですが、C/C++の単体テストで使用する「スタブ

Arduino_Logo
フォトレジスタを使ってみた-Arduinoで光検出

どもです。 今回は、タイトル通り「フォトレジスタの使い方」です。

→もっと見る

PAGE TOP ↑