作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试在 Qt 5.9 中处理来自 M3 触摸屏的 QTouchEvent。我用Qt Finger Print example它在 Windows 7 上工作正常,但在 Ubuntu 16.04 上我收到鼠标事件而不是触摸事件。是 Qt 的错误还是操作系统配置错误?
此外,QTouchDevice::devices().size()
始终等于 0。
最佳答案
我建议您使用EventFilters捕获多个平台中的触摸和鼠标事件。为此,您必须在小部件的构造函数中调用 installEventFilter
并实现 eventFilter
来过滤 QEvent你正在寻找。例如使用这样的东西:
bool ECGPlot::eventFilter(QObject *o, QEvent *ev) {
bool ret = false;
switch (ev->type ()) {
case QEvent::TouchBegin:
ret = true;
break;
case QEvent::TouchUpdate:
ret = true;
break;
case QEvent::TouchEnd:
ret = true;
break;
case QEvent::Wheel:
ret = true;
break;
case QEvent::MouseButtonPress:
ret = true;
break;
case QEvent::MouseButtonRelease:
ret = true;
break;
case QEvent::MouseMove:
ret = true;
break;
}
return ret;
}
关于c++ - Linux 上的 QTouchEvent 代替 QMouseEvent,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46527220/
我正在尝试在 Qt 5.9 中处理来自 M3 触摸屏的 QTouchEvent。我用Qt Finger Print example它在 Windows 7 上工作正常,但在 Ubuntu 16.04
只是想全神贯注于 QTouchEvent。感谢您提供任何帮助/建议。 具体来说,当触发触摸事件时(例如 TouchBegin),我有点困惑;这是否仅代表一个独特的接触点?如果是这样,为什么 QTouc
我是一名优秀的程序员,十分优秀!