QTextBrowser Class
QTextBrowser クラスは、ハイパーテキストによるナビゲーション機能を備えたリッチテキストブラウザを提供します。詳細...
| ヘッダー: | #include <QTextBrowser> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Widgets) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
| qmake: | QT += widgets |
| 継承元: | QTextEdit |
- 継承されたメンバーを含むすべてのメンバーの一覧
- QTextBrowserは、リッチテキスト処理APIの一部です。
プロパティ
|
|
パブリック関数
| QTextBrowser(QWidget *parent = nullptr) | |
| int | backwardHistoryCount() const |
| void | clearHistory() |
| int | forwardHistoryCount() const |
| QString | historyTitle(int i) const |
| QUrl | historyUrl(int i) const |
| bool | isBackwardAvailable() const |
| bool | isForwardAvailable() const |
| bool | openExternalLinks() const |
| bool | openLinks() const |
| QStringList | searchPaths() const |
| void | setOpenExternalLinks(bool open) |
| void | setOpenLinks(bool open) |
| void | setSearchPaths(const QStringList &paths) |
| QUrl | source() const |
| QTextDocument::ResourceType | sourceType() const |
再実装されたパブリック関数
| virtual QVariant | loadResource(int type, const QUrl &name) override |
パブリックスロット
| virtual void | backward() |
| virtual void | forward() |
| virtual void | home() |
| virtual void | reload() |
| void | setSource(const QUrl &url, QTextDocument::ResourceType type = QTextDocument::UnknownResource) |
シグナル
| void | anchorClicked(const QUrl &link) |
| void | backwardAvailable(bool available) |
| void | forwardAvailable(bool available) |
| void | highlighted(const QUrl &link) |
| void | historyChanged() |
| void | sourceChanged(const QUrl &src) |
protected関数
| virtual void | doSetSource(const QUrl &url, QTextDocument::ResourceType type = QTextDocument::UnknownResource) |
再実装された保護関数
| virtual bool | event(QEvent *e) override |
| virtual bool | focusNextPrevChild(bool next) override |
| virtual void | focusOutEvent(QFocusEvent *ev) override |
| virtual void | keyPressEvent(QKeyEvent *ev) override |
| virtual void | mouseMoveEvent(QMouseEvent *e) override |
| virtual void | mousePressEvent(QMouseEvent *e) override |
| virtual void | mouseReleaseEvent(QMouseEvent *e) override |
| virtual void | paintEvent(QPaintEvent *e) override |
詳細な説明
このクラスは、QTextEdit (読み取り専用モード)を拡張し、ユーザーがハイパーテキスト文書内のリンクをたどれるよう、いくつかのナビゲーション機能を追加しています。
ユーザーに編集可能なリッチテキストエディタを提供したい場合は、QTextEdit を使用してください。ハイパーテキストナビゲーションのないテキストブラウザが必要な場合は、QTextEdit を使用し、QTextEdit::setReadOnly() を使用して編集機能を無効にしてください。リッチテキストの小さな断片を表示するだけでよい場合は、QLabel を使用してください。
ドキュメントのソースと内容
QTextEdit の内容はsetHtml() またはsetPlainText() で設定されますが、QTextBrowser はsetSource() 関数も実装しており、名前付きドキュメントをソーステキストとして使用することが可能です。名前は、検索パス一覧および現在のドキュメントファクトリのディレクトリ内で検索されます。
ドキュメント名がアンカーで終わる場合(例: "#anchor" )、テキストブラウザは自動的にその位置までスクロールします(scrollToAnchor() を使用)。ユーザーがハイパーリンクをクリックすると、ブラウザはリンクのhref 値を引数としてsetSource() を呼び出します。sourceChanged() シグナルに接続することで、現在のソースを追跡できます。
ナビゲーション
QTextBrowserは、backward()およびforward()スロットを提供しており、これらを使用して「戻る」ボタンと「進む」ボタンを実装できます。home()スロットは、最初に表示されたドキュメントのテキストを設定します。anchorClicked()シグナルは、ユーザーがアンカーをクリックしたときに発火します。 ブラウザのデフォルトのナビゲーション動作を上書きするには、setSource() 関数を呼び出し、このシグナルに接続されたスロット内で新しいドキュメントテキストを指定します。
Qtリソースシステムに保存されているドキュメントを読み込む場合は、読み込むURLのスキームとしてqrc を使用します。たとえば、ドキュメントのリソースパスが:/docs/index.html の場合、setSource()を使用する際はURLとしてqrc:/docs/index.html を指定します。
QTextEdit およびQTextDocumentも参照してください 。
プロパティのドキュメント
[read-only] modified : bool
このプロパティは、テキストブラウザの内容が変更されたかどうかにかかわらず、その値を維持します。
openExternalLinks : bool
QTextBrowser が、anchorClicked シグナルを発行する代わりに、QDesktopServices::openUrl() を使用して外部ソースへのリンクを自動的に開くかどうかを指定します。リンクのスキームが「file」または「qrc」のいずれでもない場合、そのリンクは外部リンクとみなされます。
デフォルト値は false です。
アクセス関数:
| bool | openExternalLinks() const |
| void | setOpenExternalLinks(bool open) |
openLinks : bool
このプロパティは、ユーザーがマウスやキーボードで操作しようとしたリンクを、QTextBrowser が自動的に開くかどうかを指定します。
このプロパティの値にかかわらず、anchorClicked シグナルは常に発火します。
デフォルト値は true です。
アクセス関数:
| bool | openLinks() const |
| void | setOpenLinks(bool open) |
readOnly : bool
このプロパティは、テキストブラウザが読み取り専用であるかどうかを表します
デフォルトでは、このプロパティの値は `true` です。
searchPaths : QStringList
このプロパティには、テキストブラウザが補助コンテンツを検索する際に使用する検索パスが格納されており、
QTextBrowser テキストブラウザはこのリストを使用して、画像やドキュメントの場所を特定します。
デフォルトでは、このプロパティには空の文字列リストが含まれます。
アクセス関数:
| QStringList | searchPaths() const |
| void | setSearchPaths(const QStringList &paths) |
source : QUrl
このプロパティには、表示されているドキュメントの名前が格納されます。
ドキュメントが表示されていない場合や、ソースが不明な場合は、このURLは無効となります。
このプロパティを設定すると、QTextBrowser は、値が絶対ファイルパスでない限り、searchPaths プロパティのパスおよび現在のソースのディレクトリ内で、指定された名前のドキュメントを検索しようとします。また、オプションのアンカーをチェックし、それに応じてドキュメントをスクロールします。
ドキュメントの最初のタグが `<qt type=detail>` である場合、そのドキュメントはブラウザウィンドウ内の新しいドキュメントとしてではなく、ポップアップとして表示されます。それ以外の場合は、テキストブラウザで通常通り表示され、テキストは `QTextDocument::setHtml()` または `QTextDocument::setMarkdown()` によって指定されたドキュメントの内容に設定されます。これは、ファイル名が既知の Markdown ファイル拡張子で終わっているかどうかによって異なります。
自動的なタイプ検出を回避し、タイプを明示的に指定したい場合は、このプロパティを設定する代わりに、setSource() を呼び出してください。
デフォルトでは、このプロパティには空のURLが含まれます。
アクセス関数:
| QUrl | source() const |
| void | setSource(const QUrl &url, QTextDocument::ResourceType type = QTextDocument::UnknownResource) |
[read-only] sourceType : QTextDocument::ResourceType
このプロパティには、表示されているドキュメントのタイプが格納されます
ドキュメントが表示されていない場合、またはソースの型が不明な場合は、QTextDocument::UnknownResource となります。それ以外の場合は、検出された型、またはsetSource()の呼び出し時に指定された型が格納されます。
アクセス関数:
| QTextDocument::ResourceType | sourceType() const |
undoRedoEnabled : bool
このプロパティは、テキストブラウザが元に戻す/やり直し操作をサポートしているかどうかを示します。
デフォルトでは、このプロパティの値はfalse です。
メンバー関数のドキュメント
[explicit] QTextBrowser::QTextBrowser(QWidget *parent = nullptr)
親要素がparent である空のQTextBrowserを作成します。
[signal] void QTextBrowser::anchorClicked(const QUrl &link)
このシグナルは、ユーザーがアンカーをクリックしたときに発火します。アンカーが参照するURLは、link を通じて渡されます。
なお、openLinks プロパティがfalseに設定されていない限り、または接続されたスロット内でsetSource()を呼び出さない限り、ブラウザはlink で指定された場所へのナビゲーションを自動的に処理します。この仕組みは、ブラウザのデフォルトのナビゲーション機能を上書きするために使用されます。
[virtual slot] void QTextBrowser::backward()
リンクをたどって生成されたドキュメント一覧において、表示中のドキュメントを前のドキュメントに変更します。前のドキュメントが存在しない場合は何も行いません。
forward() およびbackwardAvailable()も参照してください 。
[signal] void QTextBrowser::backwardAvailable(bool available)
このシグナルは、backward() の利用可能状態が変化したときに発火します。available は、ユーザーがhome() にアクセスしている場合は false となり、それ以外の場合は true となります。
int QTextBrowser::backwardHistoryCount() const
履歴をさかのぼって、その位置までの件数を返します。
void QTextBrowser::clearHistory()
閲覧したドキュメントの履歴を消去し、前へ・次への移動機能を無効にします。
backward() およびforward()も参照してください 。
[virtual protected] void QTextBrowser::doSetSource(const QUrl &url, QTextDocument::ResourceType type = QTextDocument::UnknownResource)
指定されたurl にあるドキュメントを、指定されたtype を使用して読み込もうとします。
setSource() は doSetSource を呼び出します。Qt 5 では、setSource(constQUrl &url) が仮想関数でした。Qt 6 では、代わりに doSetSource() が仮想関数となっており、サブクラスでオーバーライドできるようになっています。
[override virtual protected] bool QTextBrowser::event(QEvent *e)
QAbstractScrollArea::event(QEvent *event) を再実装します。
[override virtual protected] bool QTextBrowser::focusNextPrevChild(bool next)
QTextEdit::focusNextPrevChild (bool next)を再実装します。
[override virtual protected] void QTextBrowser::focusOutEvent(QFocusEvent *ev)
QTextEdit::focusOutEvent(QFocusEvent *e) を再実装します。
[virtual slot] void QTextBrowser::forward()
リンクをたどって作成されたドキュメント一覧の中から、現在表示されているドキュメントを次のドキュメントに切り替えます。次のドキュメントがない場合は、何も行いません。
backward() およびforwardAvailable()も参照してください 。
[signal] void QTextBrowser::forwardAvailable(bool available)
このシグナルは、forward() の利用可能状態が変化したときに発火します。available は、ユーザーがbackward()に移動した後はtrueとなり、ユーザーがforward()に移動または遷移したときはfalseとなります。
int QTextBrowser::forwardHistoryCount() const
履歴を何件分先へ進むかを返します。
[signal] void QTextBrowser::highlighted(const QUrl &link)
このシグナルは、ユーザーがドキュメント内のアンカーを選択したが、まだアクティブ化していない場合に発火します。アンカーが指すURLは、link を通じて渡されます。
[signal] void QTextBrowser::historyChanged()
このシグナルは、履歴が変更されたときに発せられます。
historyTitle() およびhistoryUrl()も参照してください 。
QString QTextBrowser::historyTitle(int i) const
HistoryItemのdocumentTitle()を返します。
| 入力 | 戻り値 |
|---|---|
| i < 0 | backward() 履歴 |
| i == 0 | 現在値、QTextBrowser::source() を参照 |
| i > 0 | forward() 履歴 |
backaction.setToolTip(browser.historyTitle(-1));
forwardaction.setToolTip(browser.historyTitle(+1));QUrl QTextBrowser::historyUrl(int i) const
HistoryItem の URL を返します。
| 入力 | 戻り値 |
|---|---|
| i < 0 | backward() history |
| i == 0 | 現在値、QTextBrowser::source() を参照 |
| i > 0 | forward() 履歴 |
[virtual slot] void QTextBrowser::home()
表示されているドキュメントを、履歴の最初のドキュメントに変更します。
bool QTextBrowser::isBackwardAvailable() const
テキストブラウザが `backward()` を使用してドキュメント履歴をさかのぼることができる場合、true を返します。
backwardAvailable() およびbackward()も参照してください 。
bool QTextBrowser::isForwardAvailable() const
テキストブラウザが `forward()` を使用してドキュメント履歴を前方に進むことができる場合、true を返します。
forwardAvailable() およびforward()も参照してください 。
[override virtual protected] void QTextBrowser::keyPressEvent(QKeyEvent *ev)
QTextEdit::keyPressEvent(QKeyEvent *e) を再実装します。
ev イベントは、以下のキーボードショートカットを提供するために使用されます:
[override virtual] QVariant QTextBrowser::loadResource(int type, const QUrl &name)
QTextEdit::loadResource(int type, const QUrl &name) を再実装します。
この関数は、ドキュメントが読み込まれた際、およびドキュメント内の各画像について呼び出されます。type は、読み込むリソースのタイプを示します。リソースを読み込めない場合は、無効なQVariant が返されます。
デフォルトの実装では、type を無視し、name をファイル名として解釈してリソースの場所を特定しようとします。絶対パスでない場合、searchPaths プロパティで指定されたパスおよび現在のソースと同じディレクトリ内でファイルを探します。成功した場合、結果はQVariant となり、そこにはファイルの内容を含むQByteArray が格納されます。
この関数を再実装する場合、他のQVariant 型を返すことができます。以下の表は、リソースの種類に応じてサポートされているバリアント型を示しています:
[override virtual protected] void QTextBrowser::mouseMoveEvent(QMouseEvent *e)
QTextEdit::mouseMoveEvent(QMouseEvent *e) を再実装します。
[override virtual protected] void QTextBrowser::mousePressEvent(QMouseEvent *e)
QTextEdit::mousePressEvent(QMouseEvent *e) を再実装します。
[override virtual protected] void QTextBrowser::mouseReleaseEvent(QMouseEvent *e)
QTextEdit::mouseReleaseEvent(QMouseEvent *e) の再実装です。
[override virtual protected] void QTextBrowser::paintEvent(QPaintEvent *e)
QTextEdit::paintEvent(QPaintEvent *event) を再実装しています。
[virtual slot] void QTextBrowser::reload()
現在のセットソースを再読み込みします。
[slot] void QTextBrowser::setSource(const QUrl &url, QTextDocument::ResourceType type = QTextDocument::UnknownResource)
指定されたtype を使用して、指定されたurl のドキュメントを読み込もうとします。
type がUnknownResource (デフォルト)の場合、ドキュメントの種類が検出されます。つまり、URL が.md 、.mkd 、または.markdown の拡張子で終わる場合、ドキュメントはQTextDocument::setMarkdown() を通じて読み込まれます。それ以外の場合は、QTextDocument::setHtml() を通じて読み込まれます。この検出は、type を明示的に指定することでバイパスできます。
注: プロパティ `source`のセッター 関数。
source()も参照してください 。
[signal] void QTextBrowser::sourceChanged(const QUrl &src)
このシグナルは、ソースが変更された際に発行され、src が新しいソースとなります。
ソースの変更は、setSource()、forward()、backward()、またはhome() を呼び出すといったプログラムによる操作の際、あるいはユーザーがリンクをクリックしたり、対応するキーシーケンスを入力したりした際に発生します。
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.