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()
スタックをポップアップし、currentPage 、currentLocation 、currentZoom プロパティを最近表示された先に更新し、jumped() シグナルを発する。
[slot]
void QPdfPageNavigator::clear()
履歴をクリアし、currentPage 、currentLocation 、currentZoom をデフォルト値に戻す。
[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)
page 、location 、zoom からなる、与えられた目的地を、訪問した場所の履歴に追加する。
zoom 引数は倍率を表す(1
はデフォルトの倍率で、1論理ピクセル=1ポイント)。zoom が与えられないか、0
の場合、currentZoom は既存の値を維持し、currentZoomChanged は発行されない。
ユーザーがリンクをたどっている場合、location はQPdfLink::location() と同じであるべきである。また、移動先の左上隅として指定されているため、常にビューポートの左上隅に見える位置をポイント単位で使用することが一貫性のために最適である。
forwardAvailable がtrue
の場合、この関数を呼び出すことはタイムラインの分岐を意味し、「未来」が失われるため、forwardAvailable はfalse
に変わる。
[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)
page 、location 、zoom で構成される現在の目的地を変更する。
これは、ユーザがドキュメントを手動で移動している間に定期的に呼び出すことができ、back() が呼び出された後、forward() は、最後に push() で指定された宛先ではなく、最近表示された宛先にジャンプバックする。
currentZoomChanged
、currentPageChanged
、currentLocationChanged
シグナルは、それぞれのプロパティが実際に変更された場合に発せられる。jumped シグナルは発行されません。これは、この操作がナビゲーションジャンプではなく、スムーズな移動を表しているからです。
本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。