Spec-Zone.ru › Qt 5.15

Класс QTextBrowser

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

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

Свойства

  • modified : const bool
  • openExternalLinks : bool
  • openLinks : bool
  • readOnly : const bool
  • searchPaths : QStringList
  • source : QUrl
  • sourceType : const QTextDocument::ResourceType
  • 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
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)
virtual void setSource(const QUrl &name)

Сигналы

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)

Защищённые функции

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()). При нажатии на гиперссылку браузер сам вызовет setSource() с значением ссылки в качестве аргумента. Вы можете отслеживать текущий источник, подключившись к сигналу 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>, документ отображается как всплывающее окно, а не как новый документ в окне самого браузера. В противном случае документ отображается в текстовом браузере обычным образом, с текстом, заданным содержимым указанного документа с помощью QTextDocument::setHtml() или QTextDocument::setMarkdown(), в зависимости от того, заканчивается ли имя файла каким-либо из известных расширений Markdown-файлов.

Если вы хотите избежать автоматического определения типа и явно указать тип, вызовите setSource(), а не задавайте это свойство.

По умолчанию это свойство содержит пустой URL.

Функции доступа:

QUrl source() const
virtual void setSource(const QUrl &name)
void setSource(const QUrl &url, QTextDocument::ResourceType type)

sourceType : const QTextDocument::ResourceType

Это свойство содержит тип отображаемого документа.

Это QTextDocument::UnknownResource, если документ не отображается или тип источника неизвестен. В противном случае содержит тип, который был обнаружен, или тип, который был указан при вызове setSource().

Функции доступа:

QTextDocument::ResourceType sourceType() const

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 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()

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

[slot] void QTextBrowser::setSource(const QUrl &url, QTextDocument::ResourceType type)

Пытается загрузить документ по указанному url с указанным type.

Если type имеет значение UnknownResource (по умолчанию), тип документа будет определён автоматически: то есть, если URL заканчивается расширением .md, .mkd или .markdown, документ будет загружен с помощью QTextDocument::setMarkdown(); в противном случае он будет загружен с помощью QTextDocument::setHtml(). Это определение можно обойти, явно указав значение type.

Примечание: Функция-сеттер для свойства source.

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

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

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

int QTextBrowser::backwardHistoryCount() const

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

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

void QTextBrowser::clearHistory()

Очищает историю посещённых документов и отключает навигацию вперёд и назад.

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

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

[protected] void QTextBrowser::doSetSource(const QUrl &url, QTextDocument::ResourceType type = QTextDocument::UnknownResource)

Попытка загрузить документ по указанному url с заданным type.

setSource() вызывает doSetSource. В Qt 5, setSource(const QUrl &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).

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 поддерживаются в зависимости от типа ресурса:

ResourceType QVariant::Type
QTextDocument::HtmlResource QString или QByteArray
QTextDocument::ImageResource QImage, QPixmap или QByteArray
QTextDocument::StyleSheetResource QString или QByteArray
QTextDocument::MarkdownResource 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.15/qtextbrowser.html

Spec-Zone.ru

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