我以 Poppler Library 为例,在 Qt 平台上渲染 PDF。我正在尝试为示例编写手势处理。
该示例可以从“doc.qt.digia.com/qq/qq27-poppler.zip”网址下载。
简而言之,该示例有一个 DocumentWidget.cpp,它派生自“QLabel”,而“QLabel”又派生自 QFrame 和 QWidget。
现在由于 QLabel 是从 QWidget 继承的,我已经开始实现手势处理。
在 DocumentWidget.hi 中添加了以下功能
protected:
bool event( QEvent* e );
在 DocumentWidget.cpp 构造函数中 grabGesture( Qt::TapGesture )
bool DocumentWidget :: event( QEvent* e )
{
if( e->type() == ( Qt :: TapGesture )
gestureEvent();
}
在上面的gestureEvent函数中,我尝试检查它是否是Tap并相应地计划处理tap事件。但是,在我的示例中,事件函数被调用,但点击手势正在被处理。
我已经包含了所有必要的头文件。我也已经提前宣布了这些课程。
你能告诉我哪里出错了。我们不能为 QLabel 处理这些手势吗?
先感谢您。
钱德M