Класс QTextBrowser
Класс QTextBrowser предоставляет обогащённый текстовый браузер с навигацией по гиперссылкам. Подробнее...
| Заголовок: | #include <QTextBrowser> |
| qmake: | QT += widgets |
| Наследуется от: | QTextEdit |
Свойства
|
|
- 17 свойств унаследовано от QTextEdit
- 3 свойства унаследовано от QAbstractScrollArea
- 6 свойств унаследовано от QFrame
- 59 свойств унаследовано от QWidget
- 1 свойство унаследовано от QObject
Открытые функции
| 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 |
Переопределённые открытые функции
| virtual QVariant | loadResource(int type, const QUrl &name) override |
- 62 открытых функции унаследованы от QTextEdit
- 20 открытых функций унаследованы от QAbstractScrollArea
- 14 открытых функций унаследованы от QFrame
- 214 открытых функций унаследованы от QWidget
- 31 открытых функций унаследованы от QObject
- 14 открытых функций унаследованы от QPaintDevice
Открытые слоты
| virtual void | backward() |
| virtual void | forward() |
| virtual void | home() |
| virtual void | reload() |
| virtual void | setSource(const QUrl &name) |
- 25 открытых слотов унаследовано от QTextEdit
- 19 открытых слотов унаследовано от QWidget
- 1 открытый слот унаследовано от QObject
Сигналы
| void | anchorClicked(const QUrl &link) |
| void | backwardAvailable(bool available) |
| void | forwardAvailable(bool available) |
| void | highlighted(const QUrl &link) |
| void | highlighted(const QString &link) |
| void | historyChanged() |
| void | sourceChanged(const QUrl &src) |
- 7 сигналов унаследовано от QTextEdit
- 3 сигнала унаследовано от QWidget
- 2 сигнала унаследовано от QObject
Статические открытые члены
| const QMetaObject | staticMetaObject |
- 5 статических открытых членов унаследовано от QWidget
- 9 статических открытых членов унаследовано от QObject
Переопределённые защищённые функции
| 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 |
- 24 защищённых функций, унаследованных от QTextEdit
- 20 защищённых функций, унаследованных от QAbstractScrollArea
- 4 защищённых функций, унаследованных от QFrame
- 35 защищённых функций, унаследованных от QWidget
- 9 защищённых функций, унаследованных от QObject
- 1 защищённая функция, унаследованная от QPaintDevice
Дополнительные унаследованные члены
- 24 защищённых функций, унаследованных от QTextEdit
- 20 защищённых функций, унаследованных от QAbstractScrollArea
- 4 защищённых функций, унаследованных от QFrame
- 35 защищённых функций, унаследованных от QWidget
- 9 защищённых функций, унаследованных от QObject
- 1 защищённый слот, унаследованный от QWidget
Подробное описание
Класс QTextBrowser предоставляет веб-браузер с поддержкой форматированного текста и навигацией по гиперссылкам.
Этот класс расширяет QTextEdit (в режиме только для чтения), добавляя функциональность навигации, позволяющую пользователям переходить по ссылкам в гипертекстовых документах.
Если вам нужно предоставить пользователям редактор форматированного текста, используйте QTextEdit. Если нужен браузер для текстовых документов без навигации по гиперссылкам, используйте QTextEdit и установите QTextEdit::setReadOnly() для отключения редактирования. Если вам нужно отобразить небольшой фрагмент форматированного текста, используйте QLabel.
Источник и содержимое документа
Содержимое QTextEdit устанавливается с помощью setHtml() или setPlainText(), но QTextBrowser также реализует функцию setSource(), что позволяет использовать именованный документ в качестве исходного текста. Имя ищется в списке путей поиска и в каталоге текущей фабрики документов.
Если имя документа заканчивается якорем (например, "#anchor"), браузер автоматически прокручивается до этого места (используя scrollToAnchor()). Когда пользователь нажимает на гиперссылку, браузер вызовет setSource() с значением ссылки href в качестве аргумента. Вы можете отслеживать текущий источник, подключившись к сигналу sourceChanged().
Навигация
QTextBrowser предоставляет слоты backward() и forward(), которые можно использовать для реализации кнопок «Назад» и «Вперёд». Слот home() устанавливает текст на самый первый отображаемый документ. Сигнал anchorClicked() генерируется, когда пользователь нажимает на якорь. Чтобы переопределить стандартное поведение навигации браузера, вызовите функцию setSource() для предоставления нового текста документа в слоте, подключённом к этому сигналу.
Если вы хотите загружать документы, хранящиеся в системе ресурсов Qt, используйте qrc в качестве схемы в URL для загрузки. Например, для пути ресурса документа :/docs/index.html используйте qrc:/docs/index.html в качестве URL с setSource().
См. также QTextEdit и QTextDocument.
Документация свойств
modified : const bool
Это свойство указывает, были ли изменены данные браузера
openExternalLinks : bool
Указывает, должен ли QTextBrowser автоматически открывать ссылки на внешние источники с помощью QDesktopServices::openUrl() вместо генерации сигнала anchorClicked. Ссылки считаются внешними, если их схема не file или qrc.
Значение по умолчанию — false.
Это свойство было добавлено в Qt 4.2.
Функции доступа:
| bool | openExternalLinks() const |
| void | setOpenExternalLinks(bool open) |
openLinks : bool
Это свойство определяет, должен ли QTextBrowser автоматически открывать ссылки, на которые пользователь пытается перейти с помощью мыши или клавиатуры.
Независимо от значения этого свойства, сигнал anchorClicked всегда генерируется.
Значение по умолчанию — true.
Это свойство было добавлено в Qt 4.3.
Функции доступа:
| bool | openLinks() const |
| void | setOpenLinks(bool open) |
readOnly : const bool
Это свойство указывает, является ли браузер только для чтения.
По умолчанию, это свойство true.
searchPaths : QStringList
Это свойство содержит пути поиска, используемые браузером для поиска вспомогательного контента.
QTextBrowser использует этот список для поиска изображений и документов.
По умолчанию, это свойство содержит пустой список.
Функции доступа:
| QStringList | searchPaths() const |
| void | setSearchPaths(const QStringList &paths) |
source : QUrl
Это свойство содержит имя отображаемого документа.
Это недействительный URL, если документ не отображается или источник неизвестен.
При установке этого свойства QTextBrowser пытается найти документ с заданным именем в путях свойства searchPaths и каталоге текущего источника, если это не абсолютный путь к файлу. Он также проверяет на наличие необязательных якорей и соответственно прокручивает документ
Если первый тег в документе <qt type=detail>, документ отображается как всплывающее окно, а не как новый документ в окне браузера. В противном случае документ отображается в браузере в обычном режиме, и текст устанавливается в соответствии с содержимым именованного документа с помощью setHtml().
По умолчанию, это свойство содержит пустой URL.
Функции доступа:
| QUrl | source() const |
| virtual void | setSource(const QUrl &name) |
undoRedoEnabled : const bool
Это свойство указывает, поддерживает ли браузер операции отмены/повтор.
По умолчанию, это свойство false.
Документация функций-членов
QTextBrowser::QTextBrowser(QWidget *parent = nullptr)
Создаёт пустой QTextBrowser с родителем parent.
[signal] void QTextBrowser::anchorClicked(const QUrl &link)
Этот сигнал генерируется, когда пользователь нажимает на якорь. URL, на который указывает якорь, передаётся в link.
Обратите внимание, что браузер автоматически обработает навигацию к месту, указанному в link, если свойство openLinks не установлено в false или вы не вызываете setSource() в подключённом слоте. Этот механизм используется для переопределения стандартного поведения навигации браузера.
[virtual slot] void QTextBrowser::backward()
Изменяет отображаемый документ на предыдущий документ в списке документов, созданных при навигации по ссылкам. Не делает ничего, если нет предыдущего документа.
См. также forward() и backwardAvailable().
[signal] void QTextBrowser::backwardAvailable(bool available)
Этот сигнал генерируется при изменении доступности backward(). available имеет значение false, когда пользователь находится в home; в противном случае true.
int QTextBrowser::backwardHistoryCount() const
Возвращает количество позиций назад в истории.
Эта функция была добавлена в Qt 4.4.
void QTextBrowser::clearHistory()
Очищает историю посещённых документов и отключает навигацию вперёд и назад.
Эта функция была добавлена в Qt 4.2.
См. также backward() и forward().
[override virtual protected] bool QTextBrowser::event(QEvent *e)
[override virtual protected] bool QTextBrowser::focusNextPrevChild(bool next)
Реализовано повторно из QTextEdit::focusNextPrevChild().
[override virtual protected] void QTextBrowser::focusOutEvent(QFocusEvent *ev)
Реализовано повторно из QTextEdit::focusOutEvent().
[virtual slot] void QTextBrowser::forward()
Изменяет отображаемый документ на следующий в списке документов, построенном при навигации по ссылкам. Не делает ничего, если следующего документа нет.
См. также backward() и forwardAvailable().
[signal] void QTextBrowser::forwardAvailable(bool available)
Этот сигнал испускается, когда изменяется доступность forward(). available имеет значение true после навигации пользователя по backward() и false, когда пользователь навигирует или переходит по forward().
int QTextBrowser::forwardHistoryCount() const
Возвращает количество расположений вперёд в истории.
Эта функция была введена в Qt 4.4.
[signal] void QTextBrowser::highlighted(const QUrl &link)
Этот сигнал испускается, когда пользователь выбрал, но не активировал якорную ссылку в документе. URL, на который указывает якорная ссылка, передаётся в link.
Примечание: Сигнал highlighted перегружен в этом классе. Для подключения к этому сигналу с использованием синтаксиса указателя функции Qt предоставляет удобную утилиту для получения указателя функции, как показано в этом примере:
connect(textBrowser, QOverload<const QUrl &>::of(&QTextBrowser::highlighted),
[=](const QUrl &link){ /* ... */ });
[signal] void QTextBrowser::highlighted(const QString &link)
Это перегруженный метод.
Удобный сигнал, который позволяет подключиться к слоту, принимающему только QString, например, к методу message() объекта QStatusBar.
Примечание: Сигнал highlighted перегружен в этом классе. Для подключения к этому сигналу с использованием синтаксиса указателя функции Qt предоставляет удобную утилиту для получения указателя функции, как показано в этом примере:
connect(textBrowser, QOverload<const QString &>::of(&QTextBrowser::highlighted),
[=](const QString &link){ /* ... */ });
[signal] void QTextBrowser::historyChanged()
Этот сигнал испускается при изменении истории.
Эта функция была введена в Qt 4.4.
См. также historyTitle() и historyUrl().
QString QTextBrowser::historyTitle(int i) const
Возвращает documentTitle() объекта HistoryItem.
| Входные данные | Возвращаемое значение |
|---|---|
| i < 0 | История backward() |
| i == 0 | Текущее значение, см. QTextBrowser::source() |
| i > 0 | История forward() |
backaction.setToolTip(browser.historyTitle(-1)); forwardaction.setToolTip(browser.historyTitle(+1));
Эта функция была введена в Qt 4.4.
QUrl QTextBrowser::historyUrl(int i) const
Возвращает URL объекта HistoryItem.
| Входные данные | Возвращаемое значение |
|---|---|
| i < 0 | История backward() |
| i == 0 | Текущее значение, см. QTextBrowser::source() |
| i > 0 | История forward() |
Эта функция была введена в Qt 4.4.
[virtual slot] void QTextBrowser::home()
Изменяет отображаемый документ на первый документ из истории.
bool QTextBrowser::isBackwardAvailable() const
Возвращает true, если браузер текста может перейти назад в истории документов с помощью backward().
Эта функция была введена в Qt 4.2.
См. также backwardAvailable() и backward().
bool QTextBrowser::isForwardAvailable() const
Возвращает true, если браузер текста может перейти вперёд в истории документов с помощью forward().
Эта функция была введена в Qt 4.2.
См. также forwardAvailable() и forward().
[override virtual protected] void QTextBrowser::keyPressEvent(QKeyEvent *ev)
Реализовано повторно из QTextEdit::keyPressEvent().
Событие ev используется для предоставления следующих комбинаций клавиш:
| Нажатие клавиш | Действие |
|---|---|
| Alt+Стрелка влево | backward() |
| Alt+Стрелка вправо | forward() |
| Alt+Стрелка вверх | home() |
[override virtual] QVariant QTextBrowser::loadResource(int type, const QUrl &name)
Реализовано повторно из QTextEdit::loadResource().
Этот метод вызывается при загрузке документа и для каждого изображения в документе. type указывает тип ресурса, который нужно загрузить. Некорректный QVariant возвращается, если ресурс не может быть загружен.
По умолчанию метод игнорирует type и пытается найти ресурсы, интерпретируя name как имя файла. Если это не абсолютный путь, он пытается найти файл в путях свойства searchPaths и в той же директории, что и текущий источник. При успехе результат — QVariant, хранящий QByteArray с содержимым файла.
Если вы переопределяете этот метод, вы можете возвращать другие типы QVariant. В таблице ниже показаны типы QVariant, которые поддерживаются в зависимости от типа ресурса:
| Тип ресурса | Тип QVariant |
|---|---|
| QTextDocument::HtmlResource | QString или QByteArray |
| QTextDocument::ImageResource | QImage, QPixmap или QByteArray |
| QTextDocument::StyleSheetResource | QString или QByteArray |
[override virtual protected] void QTextBrowser::mouseMoveEvent(QMouseEvent *e)
Реализовано повторно из QTextEdit::mouseMoveEvent().
[override virtual protected] void QTextBrowser::mousePressEvent(QMouseEvent *e)
Реализовано повторно из QTextEdit::mousePressEvent().
[override virtual protected] void QTextBrowser::mouseReleaseEvent(QMouseEvent *e)
Реализовано повторно из QTextEdit::mouseReleaseEvent().
[override virtual protected] void QTextBrowser::paintEvent(QPaintEvent *e)
Реализовано повторно из QTextEdit::paintEvent().
[virtual slot] void QTextBrowser::reload()
Перезагружает текущий источник.
[signal] void QTextBrowser::sourceChanged(const QUrl &src)
Этот сигнал испускается, когда источник изменился, src — новый источник.
Изменение источника происходит как программно при вызове setSource(), forward(), backward() или home(), так и при нажатии пользователем на ссылки или нажатии соответствующих комбинаций клавиш.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.12/qtextbrowser.html