Qt プラットフォームで PDF をレンダリングする Poppler Library の例を取り上げました。例のジェスチャー処理を書き込もうとしています。
サンプルは「doc.qt.digia.com/qq/qq27-poppler.zip」の URL からダウンロードできます。
簡単に言えば、この例には、QFrame と QWidget から派生した「QLabel」から派生した DocumentWidget.cpp があります。
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関数では、タップであるかどうかを確認し、それに応じてタップイベントを処理する予定です。ただし、私の例では、イベント関数が呼び出されていますが、タップ ジェスチャは処理されています。
必要なすべてのヘッダー ファイルをインクルードしました。クラスも前方宣言しました。
どこが間違っているのか教えてください。これらのジェスチャを QLabel で処理できませんか。
前もって感謝します。
チャンドM