Spec-Zone.ru › Qt 5.13

Класс QTextBrowser

Класс QTextBrowser предоставляет браузер форматированного текста с навигацией по гиперссылкам. Подробнее...

Заголовок: #include <QTextBrowser>
qmake: QT += widgets
Наследует: QTextEdit
  • Список всех членов, включая наследуемые

Свойства

  • modified : const bool
  • openExternalLinks : bool
  • openLinks : bool
  • readOnly : const bool
  • searchPaths : QStringList
  • source : QUrl
  • undoRedoEnabled : const bool

Открытые функции

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

Открытые слоты

virtual void backward()
virtual void forward()
virtual void home()
virtual void reload()
virtual void setSource(const QUrl &name)

Сигналы

void anchorClicked(const QUrl &link)
void backwardAvailable(bool available)
void forwardAvailable(bool available)
void highlighted(const QString &link)
void highlighted(const QUrl &link)
void historyChanged()
void sourceChanged(const QUrl &src)

Переопределенные защищенные функции

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()). Когда пользователь нажимает на гиперссылку, браузер сам вызовет setSource() с значением href ссылки в качестве аргумента. Вы можете отслеживать текущий источник, подключившись к сигналу sourceChanged().

Навигация

QTextBrowser предоставляет слоты backward() и forward(), которые вы можете использовать для реализации кнопок «Назад» и «Вперед». Слоты home() устанавливает текст на первый отображаемый документ. Сигнал anchorClicked() генерируется, когда пользователь нажимает на якорь. Чтобы переопределить стандартное поведение навигации браузера, вызовите функцию setSource(), чтобы предоставить новый текст документа в слоте, подключенном к этому сигналу.

Если вы хотите загружать документы, хранящиеся в системе ресурсов Qt, используйте qrc в качестве схемы в URL для загрузки. Например, для пути к ресурсу документа :/docs/index.html используйте qrc:/docs/index.html в качестве URL с setSource().

См. также QTextEdit и QTextDocument.

END_OF_DOCUMENT_MARKER ```

Документация свойств

modified : const bool

Это свойство указывает, были ли изменены содержимое текстового браузера.

openExternalLinks : bool

Определяет, должен ли QTextBrowser автоматически открывать ссылки на внешние источники с помощью QDesktopServices::openUrl() вместо отправки сигнала anchorClicked. Ссылки считаются внешними, если их схема не является файлом или 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.

[virtual slot] void QTextBrowser::forward()

Изменяет отображаемый документ на следующий документ в списке документов, созданном при навигации по ссылкам. Ничего не делает, если нет следующего документа.

См. также backward() и forwardAvailable().

[signal] void QTextBrowser::forwardAvailable(bool available)

Этот сигнал отправляется при изменении доступности forward(). available — true после навигации backward() и false, когда пользователь переходит или переходит по forward().

[signal] void QTextBrowser::highlighted(const QString &link)

Это перегруженная функция.

Удобный сигнал, позволяющий подключиться к слоту, принимающему только QString, например, к сообщению QStatusBar().

Примечание: Сигнал highlighted перегружен в этом классе. Для подключения к этому сигналу с помощью синтаксиса указателя на функцию Qt предоставляет удобный помощник для получения указателя на функцию, как показано в этом примере:

connect(textBrowser, QOverload<const QString &>::of(&QTextBrowser::highlighted),
    [=](const QString &link){ /* ... */ });

[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::historyChanged()

Этот сигнал отправляется при изменении истории.

Эта функция была добавлена в Qt 4.4.

См. также historyTitle() и historyUrl().

[virtual slot] void QTextBrowser::home()

Изменяет отображаемый документ на первый документ из истории.

[virtual slot] void QTextBrowser::reload()

Перезагружает текущий заданный источник.

[signal] void QTextBrowser::sourceChanged(const QUrl &src)

Этот сигнал отправляется при изменении источника, src — новый источник.

Изменения источника происходят как программно, при вызове setSource(), forward(), backward() или home(), так и при нажатии пользователем на ссылки или нажатии эквивалентных комбинаций клавиш.

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(bool next).

[override virtual protected] void QTextBrowser::focusOutEvent(QFocusEvent *ev)

Реализует: QTextEdit::focusOutEvent(QFocusEvent *e).

int QTextBrowser::forwardHistoryCount() const

Возвращает количество позиций вперёд в истории.

Данная функция была добавлена в Qt 4.4.

QString QTextBrowser::historyTitle(int i) const

Возвращает documentTitle() элемента истории.

Входные данные Возвращаемое значение
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 элемента истории.

Входные данные Возвращаемое значение
i < 0 история backward()
i == 0 текущее, см. QTextBrowser::source()
i > 0 история forward()

Данная функция была добавлена в Qt 4.4.

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(QKeyEvent *e).

Событие ev используется для предоставления следующих сочетаний клавиш:

Нажатие клавиш Действие
Alt+Стрелка влево backward()
Alt+Стрелка вправо forward()
Alt+Стрелка вверх home()

[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. В таблице ниже показаны поддерживаемые типы вариантов в зависимости от типа ресурса:

Тип ресурса Тип QVariant
QTextDocument::HtmlResource QString или QByteArray
QTextDocument::ImageResource QImage, QPixmap или QByteArray
QTextDocument::StyleSheetResource QString или QByteArray

[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).

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.13/qtextbrowser.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API