QPdfPageNavigator Class

PDF文書内のナビゲーション履歴。詳細...

Header: #include <QPdfPageNavigator>
Since: Qt 6.4
Inherits: QObject

プロパティ

パブリック関数

QPdfPageNavigator(QObject *parent)
virtual ~QPdfPageNavigator() override
bool backAvailable() const
QPointF currentLocation() const
int currentPage() const
qreal currentZoom() const
bool forwardAvailable() const

パブリックスロット

void back()
void clear()
void forward()
void jump(QPdfLink destination)
void jump(int page, const QPointF &location, qreal zoom = 0)
void update(int page, const QPointF &location, qreal zoom)

シグナル

void backAvailableChanged(bool available)
void currentLocationChanged(QPointF location)
void currentPageChanged(int page)
void currentZoomChanged(qreal zoom)
void forwardAvailableChanged(bool available)
void jumped(QPdfLink current)

詳細な説明

QPdfPageNavigatorクラスは、ユーザーがPDF文書内でどの目的地を訪れたかを記憶し、前後に移動する機能を提供します。これは、Webブラウザの戻る・進むボタンに似た戻る・進むアクションを実装するために使用されます。

QPdfDocumentも参照してください

プロパティ 文書

[read-only] backAvailable : const bool

true すなわち、 push() またはforward() が呼び出された場合です。

アクセス関数:

bool backAvailable() const

通知シグナル:

void backAvailableChanged(bool available)

[read-only] currentLocation : const QPointF

このプロパティは、表示されているページの現在の位置(最後にjump() またはupdate() に与えられた位置)を保持します。デフォルトは0, 0

アクセス関数:

QPointF currentLocation() const

Notifier シグナル:

void currentLocationChanged(QPointF location)

[read-only] currentPage : const int

このプロパティは、表示中の現在のページを保持します。デフォルトは0

アクセス関数:

int currentPage() const

Notifier シグナル:

void currentPageChanged(int page)

[read-only] currentZoom : const qreal

こ のプ ロパテ ィ は、 表示中のページの倍率 (1 ピ ク セル=1 ポ イ ン ト ) を保持 し ます。デフ ォル ト は1 です。

アクセス関数:

qreal currentZoom() const

ノーティファイアシグナル:

void currentZoomChanged(qreal zoom)

[read-only] forwardAvailable : const bool

ヒストリで転送先が利用可能な場合、つまり、back() が以前に呼び出されたことがある場合、true を保持する。

アクセス関数:

bool forwardAvailable() const

ノーティファイアシグナル:

void forwardAvailableChanged(bool available)

メンバー関数ドキュメント

[explicit] QPdfPageNavigator::QPdfPageNavigator(QObject *parent)

親オブジェクトparent を持つページナビゲーションスタックを構築する。

[override virtual noexcept] QPdfPageNavigator::~QPdfPageNavigator()

ページナビゲーションスタックを破棄する。

[slot] void QPdfPageNavigator::back()

スタックをポップアップし、currentPagecurrentLocationcurrentZoom プロパティを最近表示された先に更新し、jumped() シグナルを発する。

[slot] void QPdfPageNavigator::clear()

履歴をクリアし、currentPagecurrentLocationcurrentZoom をデフォルト値に戻す。

[slot] void QPdfPageNavigator::forward()

back()が呼び出される前に表示されていたページ、場所、ズーム・レベルに戻り、jumped()シグナルを発する。

最後にback() が呼び出されたときから新しい目的地がプッシュされた場合、forward() 関数は何もしない。なぜなら、タイムラインに分岐があり、「未来」が失われるからである。

[slot] void QPdfPageNavigator::jump(QPdfLink destination)

与えられたdestination を、訪れた場所の履歴に追加します。

この場合、PDFビューは、destination.location をビューポートに配置するのとは対照的に、destination.rectangles をビューポートに配置するようにスクロールすることによって、jumped シグナルに応答します。そのため、QPdfSearchModel から検索結果にジャンプするためにこのメソッドを呼び出すのが適切です(矩形が見つかったテキストの領域をカバーしているため)。ハイパーリンク先にジャンプするには、代わりにjump(page, location, zoom)を呼び出します。この場合、QPdfLink オブジェクトのrectangles は、ハイパーリンク先ではなく、ハイパーリンク元の位置をカバーするからです。

[slot] void QPdfPageNavigator::jump(int page, const QPointF &location, qreal zoom = 0)

pagelocationzoom からなる、与えられた目的地を、訪問した場所の履歴に追加する。

zoom 引数は倍率を表す(1 はデフォルトの倍率で、1論理ピクセル=1ポイント)。zoom が与えられないか、0 の場合、currentZoom は既存の値を維持し、currentZoomChanged は発行されない。

ユーザーがリンクをたどっている場合、locationQPdfLink::location() と同じであるべきである。また、移動先の左上隅として指定されているため、常にビューポートの左上隅に見える位置をポイント単位で使用することが一貫性のために最適である。

forwardAvailabletrue の場合、この関数を呼び出すことはタイムラインの分岐を意味し、「未来」が失われるため、forwardAvailablefalse に変わる。

[signal] void QPdfPageNavigator::jumped(QPdfLink current)

このシグナルは、current のページインデックス、ページ上の位置、ズームレベルに対して、突然のジャンプが発生したときに発せられるが、単にドキュメントを1ページずつスクロールしたときには発せられない。つまり、jump ()、forward ()、back ()はこのシグナルを発するが、update ()は発しない。

current.rectangles.length > 0 の場合、それらは特定の目的地領域をカバーする長方形、つまり、可視化されるべき検索結果である。そうでない場合、current.location は、page 上の目的地位置である(ハイパーリンクの目的地、または、ナビゲーションで進む/戻るの間)。

[slot] void QPdfPageNavigator::update(int page, const QPointF &location, qreal zoom)

pagelocationzoom で構成される現在の目的地を変更する。

これは、ユーザがドキュメントを手動で移動している間に定期的に呼び出すことができ、back() が呼び出された後、forward() は、最後に push() で指定された宛先ではなく、最近表示された宛先にジャンプバックする。

currentZoomChangedcurrentPageChangedcurrentLocationChanged シグナルは、それぞれのプロパティが実際に変更された場合に発せられる。jumped シグナルは発行されません。これは、この操作がナビゲーションジャンプではなく、スムーズな移動を表しているからです。

本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。