我想基于Qt5在我的应用程序中添加滑动手势。该应用程序主要在Linux(笔记本电脑)上运行。我只是无法编写代码,因为我无法理解如何使用该类(没有示例代码可用)。
触控板驱动程序支持滑动手势(libinput)。此外,synaptics(至少在我的系统上)支持多指触摸。
有人可以指导我如何使用API,并提供一些示例代码吗?
答案 0 :(得分:0)
你的意思是QNativeGestureEvent
?您可能不应该使用QNativeGestureEvent
并使用更高级别的框架:请参阅Gestures in Widgets and Graphics View。 QNativeGestureEvent
过去仅在OS X上可用;它并不是一个广泛消费的API。
唉,QNativeGestureEvent
被传递给小部件本身。你会通过重新实现QObject::event
并对事件采取行动来对它们作出反应:
class MyWidget : public QWidget {
typedef base_type = QWidget;
...
bool QWidget::event(QEvent * ev) override {
if (ev->type() == QEvent::NativeGesture) {
auto g = static_Cast<QNativeGestureEvent*>(ev);
...
return true; // if event was recognized and processed
}
return base_type::event(ev);
}
};
但不要这样做。