【问题标题】:Qt 5.5 - Touch/multitouch not working with Ubuntu 14.04Qt 5.5 - 触控/多点触控不适用于 Ubuntu 14.04
【发布时间】:2015-12-08 12:34:57
【问题描述】:

我正在尝试创建一个支持多点触控的 Qt Widgets 应用程序。我正在使用安装了 Ubuntu 14.04、QtCreator 3.5.0 和 Qt 5.5.0 的平板电脑。我直接在平板电脑上编译。

我尝试编译一些 Qt Quick 和 Qt Widgets 示例,例如 thisthisthis one。它们都编译得很好,都支持鼠标和单点触控事件,但没有一个支持多点触控。

我尝试像这样修改最后一个示例的源代码:

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 比较陌生,所以问题实际上可能很简单,但谷歌搜索没有给我任何结果。提前感谢您的帮助。

更新

另外,如果有人分享在 Ubuntu 或其他基于 Linux 的发行版上使用 Qt 触控的经验,我将不胜感激,这样我就可以确定这是操作系统中的错误还是与硬件有关。

【问题讨论】:

  • 你用的是什么手势? AFAIK,Ubuntu 不支持捏调整大小,但我可能错了
  • @marmistrz 我试过捏和旋转。例如,我也知道 pinch 确实可以在 google chrome 中使用。
  • 我有在 Fedora 19 上使用多点触控屏幕和基于 qt quick 的应用程序的经验。我没有遇到任何问题和配置,一切都在盒子里工作。但是,我没有处理特殊的多点触控事件。
  • 另外,也许这个话题会对你有所帮助 - forum.qt.io/topic/25102/multitouch-in-linux/3
  • 我注意到 Qt 5.5 中有一些严重的回归,现在我的工作停留在 5.4 上,直到这些新错误得到修复,希望在一两年内,,,

标签: c++ linux qt ubuntu touch


【解决方案1】:

要在单个小部件上实现多点触控,我们需要不同的事件而不是 QEventMouseButtonPress 等。 有新的事件类型,如 TouchBegin 、 TouchUpdate 、 TouchEnd 和新的 TouchEventsClass。

为了更好地理解,请点击链接http://www.slideshare.net/qtbynokia/using-multitouch-and-gestures-with-qt

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-15
    • 1970-01-01
    • 1970-01-01
    • 2011-03-16
    相关资源
    最近更新 更多