Armadilloフォーラム

スワイプなどのジェスチャーについて

senda

2014年8月5日 16時01分

お世話になっております。
sendaと申します。

Qtを利用してArmadillo-840のLCDセットのタッチパネルLCDで
スワイプ、フリックなどのジェスチャー動作を行いたいと考えています。

そこで、参考にQtのサンプルプログラムをArmadillo上で実行しましたが、
ジェスチャーを認識しませんでした。

ジェスチャーを利用するには環境変数の設定など何か必要なのでしょうか?
ジェスチャーを認識しなかった原因、解決方法など分かりましたら
教えて頂けないでしょうか?

今回実行したサンプルプログラムは、
Qtのインストールディレクトリ
「C:\...\examples\gestures\」にある「gestures.pro」
を使用しました。

また、Armadillo上で実行するために以下の2カ所を変更しました。
1.プロジェクトファイル「imagegestures.pro」
target.path = $$[QT_INSTALL_EXAMPLES]/gestures/imagegestures
INSTALLS += target
 上記を以下に変更
INSTALLS += target
target.path = /tmp

2.ソース「main.cpp」55行目
w.openDirectory(QFileDialog::getExistingDirectory(0, "Select image folder"));
  上記を以下に変更
w.openDirectory("../home/ftp/pub/sample");
  サンプル画像を上記ディレクトリに置いています。

以上、よろしくお願い致します。

コメント

MCSのmaと申します。

弊社でも840ボードを使って,Qtのアプリ開発を行いましたが,
タッチ操作はなかなかうまくいかないで,
今も課題として残っております。

色々調べたところ,
タッチスクリーンのコントローラは確かにジェスチャーを認識する機能がありますが,
ドライバーでは実装してないらしいです。

多分,QMLを使ってGUIを開発するとタッチ操作はちょっと良くなるかもしれません...
なかなか試す時間がないで,残念です

840ボードにおいて,Qtのアプリでタッチ操作をどう実現するについて,
弊社でもとても知りたいですが...

sendaです。

ご返信ありがとうございます。
返信が遅くなり申し訳ありません。

> 色々調べたところ,
> タッチスクリーンのコントローラは確かにジェスチャーを認識する機能がありますが,
> ドライバーでは実装してないらしいです。

情報ありがとうございます。
ドライバーの問題だということが分かっただけでも助かりました。

ドライバーについては、
Armadillo-400の仕様書にタッチスクリーンのイベントの表がありますが、
これらのイベントではジェスチャーが機能しないということでしょうか?

> 多分,QMLを使ってGUIを開発するとタッチ操作はちょっと良くなるかもしれません...
> なかなか試す時間がないで,残念です

私もQMLを使用すればジェスチャー動作が出来ると聞きましたが、
まだ試すことができていません。

Qtのサンプルプログラムにマウスのイベントを使用してフリック動作を行う
「flickable.pro」というものもありましたので、
この辺も参考にもう少し調査してみたいと思います。

----------------------------------------------------------------------------------
質問について分かりにくいと思う点があったので補足させて頂きます。
>今回実行したサンプルプログラムは、
>Qtのインストールディレクトリ
>「C:\...\examples\gestures\」にある「gestures.pro」
>を使用しました。
についてですが、
使用したサンプルプログラムはATDE5に最初から用意されている物ではなく、
別途WindowsのPCにインストールしたQtに含まれているサンプルプログラムを使用しました。