マルチタッチをサポートするQtウィジェットアプリケーションを作成しようとしています。 Ubuntu 14.04、QtCreator 3.5.0、Qt 5.5.0をインストールしたタブレットを使用しています。私はタブレットでまっすぐコンパイルしています。Qt 5.5 - Ubuntuで動作しないタッチ/マルチタッチ14.04
this,this、this oneのようなQt QuickとQt Widgetsのサンプルをコンパイルしようとしました。それらのすべてがうまくコンパイルされ、すべてがマウスとシングルタッチのイベントをサポートしていましたが、マルチタッチはサポートされていませんでした。
私はこのような例の最後のソースコードを変更しようとした:
bool ImageWidget::event(QEvent *event)
{
std::cout << GetEvent(event).toStdString() << std::endl;
if (event->type() == QEvent::Gesture)
return gestureEvent(static_cast<QGestureEvent*>(event));
return QWidget::event(event);
}
QString ImageWidget::GetEvent(const QEvent * ev) {
static int eventEnumIndex = QEvent::staticMetaObject
.indexOfEnumerator("Type");
QString result;
result.append("QEvent");
if (ev) {
QString name = QEvent::staticMetaObject
.enumerator(eventEnumIndex).valueToKey(ev->type());
if (!name.isEmpty()) result.append(name); else result.append(ev->type());
} else {
result.append("foo");
}
return result;
}
そして、私はアイテムをドラッグ触れるしようとすると、私が得るすべての出力は、マウスイベントの一種です:
QEventMouseButtonPress
QEventMouseMove
QEventMouseMove
QEventMouseMove
QEventMouseMove
QEventMouseMove
QEventMouseMove
QEventMouseButtonRelease
QEventLeave
他のアプリケーション(Google ChromeやUbuntu自体のような)はマルチタッチの問題を処理するので、Qtと何か関係があると思います。現在インストールされているバージョンについて
XInputの状態、これを:
xinput version 1.6.1
XI version on server: 2.3
私は、一般的にはQtとUbuntuに比較的新しいですので、問題は実際にはかなり簡単かもしれないが、私は結果を与えなかったグーグル。あなたの助けを前もってありがとう。
UPDATE
私はそれはOSのバグであるか持っているかどうかを把握することができるように誰かがUbuntuのか、他のLinuxベースのディストリビューション上のQtとの接触を使用しての経験を共有する場合にも、私は感謝しますハードウェアと関係があります。
どのようなジェスチャーを使用していますか? AFAIK、ピンチリサイズはUbuntuではサポートされていませんが、間違っている可能性があります – marmistrz
@marmistrzピンチと回転を試みました。私はピンチが実際にはGoogle Chromeで動作することも知っています。 – bashis
私はFedora 19のマルチタッチスクリーンとqtクイックベースアプリケーションの経験がありました。私は問題や構成はありませんでした。しかし、特別なマルチタッチイベントは扱われませんでした。 – Milovidov