Класс QTextEdit
Класс QTextEdit предоставляет виджет, используемый для редактирования и отображения простого и форматированного текста. Подробнее...
| Заголовок: | #include <QTextEdit> |
| qmake: | QT += widgets |
| Наследуется от: | QAbstractScrollArea |
| Наследует: |
Открытые типы
| класс | Дополнительный выбор |
| флаги | Автоматическое форматирование |
| перечисление | Флаги автоматического форматирования { БезАвто, СписокСМаркерами, Все } |
| перечисление | Режим переноса строк { БезПереноса, ШиринаВиджета, ФиксированнаяШиринаВПикселях, ФиксированнаяШиринаВКолонкаx} |
Свойства
|
|
- 3 свойства унаследованы от QAbstractScrollArea
- 6 свойств унаследованы от QFrame
- 59 свойств унаследованы от QWidget
- 1 свойство унаследовано от QObject
Открытые функции
| QTextEdit(QWidget *parent = nullptr) | |
| QTextEdit(const QString &text, QWidget *parent = nullptr) | |
| virtual | ~QTextEdit() |
| bool | acceptRichText() const |
| Qt::Alignment | alignment() const |
| QString | anchorAt(const QPoint &pos) const |
| QTextEdit::AutoFormatting | autoFormatting() const |
| bool | canPaste() const |
| QMenu * | createStandardContextMenu() |
| QMenu * | createStandardContextMenu(const QPoint &position) |
| QTextCharFormat | currentCharFormat() const |
| QFont | currentFont() const |
| QTextCursor | cursorForPosition(const QPoint &pos) const |
| QRect | cursorRect(const QTextCursor &cursor) const |
| QRect | cursorRect() const |
| int | cursorWidth() const |
| QTextDocument * | document() const |
| QString | documentTitle() const |
| void | ensureCursorVisible() |
| QList<QTextEdit::ExtraSelection> | extraSelections() const |
| bool | find(const QString &exp, QTextDocument::FindFlags options = ...) |
| bool | find(const QRegExp &exp, QTextDocument::FindFlags options = ...) |
| QString | fontFamily() const |
| bool | fontItalic() const |
| qreal | fontPointSize() const |
| bool | fontUnderline() const |
| int | fontWeight() const |
| bool | isReadOnly() const |
| bool | isUndoRedoEnabled() const |
| int | lineWrapColumnOrWidth() const |
| QTextEdit::LineWrapMode | lineWrapMode() const |
| virtual QVariant | loadResource(int type, const QUrl &name) |
| void | mergeCurrentCharFormat(const QTextCharFormat &modifier) |
| void | moveCursor(QTextCursor::MoveOperation operation, QTextCursor::MoveMode mode = QTextCursor::MoveAnchor) |
| bool | overwriteMode() const |
| QString | placeholderText() const |
| void | print(QPagedPaintDevice *printer) const |
| void | setAcceptRichText(bool accept) |
| void | setAutoFormatting(QTextEdit::AutoFormatting features) |
| void | setCurrentCharFormat(const QTextCharFormat &format) |
| void | setCursorWidth(int width) |
| void | setDocument(QTextDocument *document) |
| void | setDocumentTitle(const QString &title) |
| void | setExtraSelections(const QList<QTextEdit::ExtraSelection> &selections) |
| void | setLineWrapColumnOrWidth(int w) |
| void | setLineWrapMode(QTextEdit::LineWrapMode mode) |
| void | setOverwriteMode(bool overwrite) |
| void | setPlaceholderText(const QString &placeholderText) |
| void | setReadOnly(bool ro) |
| void | setTabChangesFocus(bool b) |
| void | setTabStopDistance(qreal distance) |
| void | setTextCursor(const QTextCursor &cursor) |
| void | setTextInteractionFlags(Qt::TextInteractionFlags flags) |
| void | setUndoRedoEnabled(bool enable) |
| void | setWordWrapMode(QTextOption::WrapMode policy) |
| bool | tabChangesFocus() const |
| qreal | tabStopDistance() const |
| QColor | textBackgroundColor() const |
| QColor | textColor() const |
| QTextCursor | textCursor() const |
| Qt::TextInteractionFlags | textInteractionFlags() const |
| QString | toHtml() const |
| QString | toPlainText() const |
| QTextOption::WrapMode | wordWrapMode() const |
id="reimplemented-public-functions">Реализованные общедоступные функции
| virtual QVariant | inputMethodQuery(Qt::InputMethodQuery property) const override |
- 20 общедоступных функций, унаследованных от QAbstractScrollArea
- 14 общедоступных функций, унаследованных от QFrame
- 214 общедоступных функций, унаследованных от QWidget
- 31 общедоступных функций, унаследованных от QObject
- 14 общедоступных функций, унаследованных от QPaintDevice
id="public-slots">Публичные слоты
| void | append(const QString &text) |
| void | clear() |
| void | copy() |
| void | cut() |
| void | insertHtml(const QString &text) |
| void | insertPlainText(const QString &text) |
| void | paste() |
| void | redo() |
| void | scrollToAnchor(const QString &name) |
| void | selectAll() |
| void | setAlignment(Qt::Alignment a) |
| void | setCurrentFont(const QFont &f) |
| void | setFontFamily(const QString &fontFamily) |
| void | setFontItalic(bool italic) |
| void | setFontPointSize(qreal s) |
| void | setFontUnderline(bool underline) |
| void | setFontWeight(int weight) |
| void | setHtml(const QString &text) |
| void | setPlainText(const QString &text) |
| void | setText(const QString &text) |
| void | setTextBackgroundColor(const QColor &c) |
| void | setTextColor(const QColor &c) |
| void | undo() |
| void | zoomIn(int range = 1) |
| void | zoomOut(int range = 1) |
id="signals">Сигналы
| void | copyAvailable(bool yes) |
| void | currentCharFormatChanged(const QTextCharFormat &f) |
| void | cursorPositionChanged() |
| void | redoAvailable(bool available) |
| void | selectionChanged() |
| void | textChanged() |
| void | undoAvailable(bool available) |
id="static-public-members">Статические общедоступные члены
| const QMetaObject | staticMetaObject |
- 5 статических общедоступных членов, унаследованных от QWidget
- 9 статических общедоступных членов, унаследованных от QObject
id="protected-functions">Защищённые функции
| virtual bool | canInsertFromMimeData(const QMimeData *source) const |
| virtual QMimeData * | createMimeDataFromSelection() const |
| virtual void | insertFromMimeData(const QMimeData *source) |
id="reimplemented-protected-functions">Реализованные защищённые функции
| virtual void | changeEvent(QEvent *e) override |
| virtual void | contextMenuEvent(QContextMenuEvent *event) override |
| virtual void | dragEnterEvent(QDragEnterEvent *e) override |
| virtual void | dragLeaveEvent(QDragLeaveEvent *e) override |
| virtual void | dragMoveEvent(QDragMoveEvent *e) override |
| virtual void | dropEvent(QDropEvent *e) override |
| virtual void | focusInEvent(QFocusEvent *e) override |
| virtual bool | focusNextPrevChild(bool next) override |
| virtual void | focusOutEvent(QFocusEvent *e) override |
| virtual void | inputMethodEvent(QInputMethodEvent *e) override |
| virtual void | keyPressEvent(QKeyEvent *e) override |
| virtual void | keyReleaseEvent(QKeyEvent *e) override |
| virtual void | mouseDoubleClickEvent(QMouseEvent *e) override |
| virtual void | mouseMoveEvent(QMouseEvent *e) override |
| virtual void | mousePressEvent(QMouseEvent *e) override |
| virtual void | mouseReleaseEvent(QMouseEvent *e) override |
| virtual void | paintEvent(QPaintEvent *event) override |
| virtual void | resizeEvent(QResizeEvent *e) override |
| virtual void | scrollContentsBy(int dx, int dy) override |
| virtual void | showEvent(QShowEvent *) override |
| virtual void | wheelEvent(QWheelEvent *e) override |
- 20 защищённых функций, унаследованных от QAbstractScrollArea
- 4 защищённых функций, унаследованных от QFrame
- 35 защищённых функций, унаследованных от QWidget
- 9 защищённых функций, унаследованных от QObject
- 1 защищённая функция, унаследованная от QPaintDevice
Дополнительные унаследованные члены
- 1 защищённый слот, унаследованный от QWidget
Подробное описание
Класс QTextEdit предоставляет виджет, используемый для редактирования и отображения как простого, так и форматированного текста.
Введение и концепции
QTextEdit — это расширенный виджет WYSIWYG, поддерживающий форматирование форматированного текста с использованием тегов в стиле HTML. Он оптимизирован для работы с большими документами и быстрой реакции на ввод пользователя.
QTextEdit работает с абзацами и символами. Абзац — это форматированная строка, которая переносится на следующую строку, чтобы поместиться в ширину виджета. По умолчанию при чтении простого текста одна новая строка обозначает абзац. Документ состоит из нуля или более абзацев. Слова в абзаце выравниваются в соответствии с выравниванием абзаца. Абзацы разделяются жёсткими разрывами строк. Каждый символ в абзаце имеет свои атрибуты, например, шрифт и цвет.
QTextEdit может отображать изображения, списки и таблицы. Если текст слишком большой для просмотра в области просмотра текстового поля, появятся полосы прокрутки. Текстовое поле может загружать как простой, так и форматированный текст. Форматированный текст описывается с помощью подмножества разметки HTML 4, см. страницу Поддерживаемое подмножество HTML для получения дополнительной информации.
Если вам нужно отобразить небольшой фрагмент форматированного текста, используйте QLabel.
Поддержка форматированного текста в Qt разработана для обеспечения быстрого, портативного и эффективного способа добавления разумных справочных данных онлайн в приложения и создания основы для редакторов форматированного текста. Если поддержка HTML недостаточна для ваших потребностей, рассмотрите использование Qt WebKit, которое предоставляет полнофункциональный виджет веб-браузера.
Форма курсора мыши в QTextEdit по умолчанию — Qt::IBeamCursor. Его можно изменить с помощью свойства курсора viewport().
Использование QTextEdit в качестве виджета отображения
QTextEdit может отображать большое подмножество HTML, включая таблицы и изображения.
Текст задаётся или заменяется с помощью setHtml(), которая удаляет весь существующий текст и заменяет его текстом, переданным в вызове setHtml(). Если вы вызываете setHtml() с устаревшим HTML, а затем вызываете toHtml(), возвращаемый текст может иметь другую разметку, но будет отображаться так же. Весь текст можно удалить с помощью clear().
Сам текст можно вставить с помощью класса QTextCursor или с помощью удобных функций insertHtml(), insertPlainText(), append() или paste(). QTextCursor также может вставлять сложные объекты, такие как таблицы или списки, в документ, а также обрабатывает создание выделений и применение изменений к выделенному тексту.
По умолчанию текстовое поле переносит слова при пробелах, чтобы уместиться в виджете текстового поля. Функция setLineWrapMode() используется для задания типа переноса строки или NoWrap, если вы не хотите никакого переноса. Вызовите setLineWrapMode() для установки фиксированной ширины в пикселях FixedPixelWidth или столбцов символов (например, 80 столбцов) FixedColumnWidth с указанием пикселей или столбцов с помощью setLineWrapColumnOrWidth(). Если вы используете перенос слов по ширине виджета WidgetWidth, вы можете указать, нужно ли переносить на пробелы или в любом месте с помощью setWordWrapMode().
Функция find() может использоваться для поиска и выделения заданной строки в тексте.
Если вы хотите ограничить общее количество абзацев в QTextEdit, например, это часто полезно в просмотре журналов, то вы можете использовать свойство максимаBlockCount QTextDocument для этого.
Связанные сочетания клавиш для только чтения
Когда QTextEdit используется в режиме только для чтения, сочетания клавиш ограничены навигацией, а текст можно выделять только с помощью мыши:
| Нажатия клавиш | Действие |
|---|---|
| Вверх | Перемещение на одну строку вверх. |
| Вниз | Перемещение на одну строку вниз. |
| Влево | Перемещение на один символ влево. |
| Вправо | Перемещение на один символ вправо. |
| PgUp | Перемещение на одну (область просмотра) страницу вверх. |
| PgDown | Перемещение на одну (область просмотра) страницу вниз. |
| Home | Перемещение к началу текста. |
| End | Перемещение к концу текста. |
| Alt+колесо мыши | Горизонтальная прокрутка страницы (колесо мыши). |
| Ctrl+колесо мыши | Масштабирование текста. |
| Ctrl+A | Выделение всего текста. |
Текстовое поле может предоставить некоторую метаинформацию. Например, функция documentTitle() вернёт текст из тегов HTML <title>.
Примечание: Масштабирование HTML-документов работает только в том случае, если размер шрифта не задан фиксированным значением.
Использование QTextEdit в качестве редактора
Вся информация об использовании QTextEdit в качестве виджета отображения также применима и здесь.
Атрибуты текущего формата символа устанавливаются с помощью setFontItalic(), setFontWeight(), setFontUnderline(), setFontFamily(), setFontPointSize(), setTextColor() и setCurrentFont(). Выравнивание текущего абзаца устанавливается с помощью setAlignment().
Выбор текста осуществляется классом QTextCursor, который предоставляет функциональность для создания выделений, извлечения текстового содержимого или удаления выделений. Вы можете получить объект, соответствующий видимому курсору пользователя, используя метод textCursor(). Если вы хотите установить выделение в QTextEdit, просто создайте его на объекте QTextCursor, а затем сделайте этот курсор видимым курсором, используя setTextCursor(). Выделение можно скопировать в буфер обмена с помощью copy() или вырезать в буфер обмена с помощью cut(). Весь текст можно выделить, используя selectAll().
При перемещении курсора и изменении базовых атрибутов форматирования, сигнал currentCharFormatChanged() излучается для отображения новых атрибутов в новом положении курсора.
Сигнал textChanged() излучается всякий раз, когда текст изменяется (в результате setText() или через сам редактор).
QTextEdit содержит объект QTextDocument, который можно получить, используя метод document(). Вы также можете установить собственный объект документа с помощью setDocument().
QTextDocument предоставляет функцию isModified(), которая вернёт true, если текст был изменён с момента загрузки или с последнего вызова setModified с аргументом false. Кроме того, он предоставляет методы для отмены и повторения действий.
Перетаскивание
QTextEdit также поддерживает пользовательское поведение перетаскивания. По умолчанию QTextEdit вставит обычный текст, HTML и форматированный текст, когда пользователь перетащит данные этих типов MIME в документ. Переопределите canInsertFromMimeData() и insertFromMimeData(), чтобы добавить поддержку дополнительных типов MIME.
Например, чтобы разрешить пользователю перетащить изображение в QTextEdit, вы могли бы реализовать эти функции следующим образом:
bool TextEdit::canInsertFromMimeData( const QMimeData *source ) const
{
if (source->hasImage())
return true;
else
return QTextEdit::canInsertFromMimeData(source);
} Мы добавляем поддержку типов MIME изображений, возвращая true. Для всех других типов MIME мы используем стандартную реализацию.
void TextEdit::insertFromMimeData( const QMimeData *source )
{
if (source->hasImage())
{
QImage image = qvariant_cast<QImage>(source->imageData());
QTextCursor cursor = this->textCursor();
QTextDocument *document = this->document();
document->addResource(QTextDocument::ImageResource, QUrl("image"), image);
cursor.insertImage("image");
}
} Мы распаковываем изображение из QVariant, хранящейся в источнике MIME, и вставляем его в документ как ресурс.
Сочетания клавиш для редактирования
Список сочетаний клавиш, реализованных для редактирования:
| Нажатия клавиш | Действие |
|---|---|
| Backspace | Удаляет символ слева от курсора. |
| Delete | Удаляет символ справа от курсора. |
| Ctrl+C | Копирует выделенный текст в буфер обмена. |
| Ctrl+Insert | Копирует выделенный текст в буфер обмена. |
| Ctrl+K | Удаляет до конца строки. |
| Ctrl+V | Вставляет текст из буфера обмена в текстовый редактор. |
| Shift+Insert | Вставляет текст из буфера обмена в текстовый редактор. |
| Ctrl+X | Удаляет выделенный текст и копирует его в буфер обмена. |
| Shift+Delete | Удаляет выделенный текст и копирует его в буфер обмена. |
| Ctrl+Z | Отменяет последнее действие. |
| Ctrl+Y | Повторяет последнее действие. |
| Влево | Перемещает курсор на один символ влево. |
| Ctrl+Влево | Перемещает курсор на одно слово влево. |
| Вправо | Перемещает курсор на один символ вправо. |
| Ctrl+Вправо | Перемещает курсор на одно слово вправо. |
| Вверх | Перемещает курсор на одну строку вверх. |
| Вниз | Перемещает курсор на одну строку вниз. |
| PageUp | Перемещает курсор на одну страницу вверх. |
| PageDown | Перемещает курсор на одну страницу вниз. |
| Home | Перемещает курсор в начало строки. |
| Ctrl+Home | Перемещает курсор в начало текста. |
| End | Перемещает курсор в конец строки. |
| Ctrl+End | Перемещает курсор в конец текста. |
| Alt+Колесо | Прокручивает страницу по горизонтали (колесо — колесо мыши). |
Для выбора (метки) текста удерживайте нажатой клавишу Shift, одновременно нажимая одну из клавиш перемещения, например, Shift+Вправо выберет символ справа, а Shift+Ctrl+Вправо выберет слово справа и т. д.
См. также QTextDocument, QTextCursor, Пример приложения, Пример выделения синтаксиса и Обработка форматированного текста.
Документация типов членов
перечисление QTextEdit::AutoFormattingFlagфлаги QTextEdit::AutoFormatting
| Константа | Значение | Описание |
|---|---|---|
QTextEdit::AutoNone |
0 |
Не производить автоматическое форматирование. |
QTextEdit::AutoBulletList |
0x00000001 |
Автоматически создавать списки с маркерами (например, когда пользователь вводит звездочку ('*') в крайнем левом столбце или нажимает Enter в уже существующем элементе списка). |
QTextEdit::AutoAll |
0xffffffff |
Применять все автоматическое форматирование. В настоящее время поддерживаются только автоматические списки с маркерами. |
Тип AutoFormatting — это тип-синоним для QFlags<AutoFormattingFlag>. Он хранит комбинацию значений AutoFormattingFlag с операцией ИЛИ.
перечисление QTextEdit::LineWrapMode
| Константа | Значение |
|---|---|
QTextEdit::NoWrap |
0 |
QTextEdit::WidgetWidth |
1 |
QTextEdit::FixedPixelWidth |
2 |
QTextEdit::FixedColumnWidth |
3 |
Документация свойств
acceptRichText : bool
Это свойство определяет, принимает ли редактор текста вставки форматированного текста пользователем.
Когда это свойство установлено в значение false, редактор текста будет принимать только простой текст от пользователя. Например, через буфер обмена или перетаскивание.
По умолчанию значение этого свойства равно true.
Это свойство было введено в Qt 4.1.
Функции доступа:
| bool | acceptRichText() const |
| void | setAcceptRichText(bool accept) |
autoFormatting : AutoFormatting
Это свойство содержит набор включенных функций автоматического форматирования.
Значение может быть любым сочетанием значений в перечислении AutoFormattingFlag. Значение по умолчанию — AutoNone. Выберите AutoAll, чтобы включить все автоматические форматирования.
В настоящее время единственной функцией автоматического форматирования является AutoBulletList; в будущих версиях Qt могут быть добавлены другие.
Функции доступа:
| QTextEdit::AutoFormatting | autoFormatting() const |
| void | setAutoFormatting(QTextEdit::AutoFormatting features) |
cursorWidth : int
Это свойство задает ширину курсора в пикселях. Значение по умолчанию равно 1.
Это свойство было введено в Qt 4.2.
Функции доступа:
| int | cursorWidth() const |
| void | setCursorWidth(int width) |
document : QTextDocument*
Это свойство содержит базовый документ текстового редактора.
Примечание: Редактор не принимает на себя владение документом, если он не является родительским объектом документа. Родительский объект предоставленного документа остается владельцем объекта. Если ранее назначенный документ является дочерним элементом редактора, он будет удален.
Функции доступа:
| QTextDocument * | document() const |
| void | setDocument(QTextDocument *document) |
documentTitle : QString
Это свойство содержит заголовок документа, извлечённый из текста.
По умолчанию для нового пустого документа это свойство содержит пустую строку.
Функции доступа:
| QString | documentTitle() const |
| void | setDocumentTitle(const QString &title) |
html : QString
Это свойство предоставляет HTML-интерфейс к тексту текстового редактора.
toHtml() возвращает текст текстового редактора в формате HTML.
setHtml() изменяет текст текстового редактора. Предыдущий текст удаляется, а история отмены/повторной операции очищается. Входной текст интерпретируется как форматированный текст в формате HTML. currentCharFormat() также сбрасывается, если textCursor() не находится в начале документа.
Примечание: Ответственность за правильную декодировку текста лежит на вызывающей стороне, когда создаётся QString содержащий HTML и передается в setHtml().
По умолчанию для нового пустого документа это свойство содержит текст, описывающий HTML 4.0-документ без текста тела.
Функции доступа:
| QString | toHtml() const |
| void | setHtml(const QString &text) |
Сигнал уведомления:
| void | textChanged() |
См. также Поддержка HTML-подмножества и plainText.
lineWrapColumnOrWidth : int
Это свойство содержит позицию (в пикселях или колонках в зависимости от режима обёртывания), где будет обёрнут текст.
Если режим обёртывания — FixedPixelWidth, значение представляет собой число пикселей от левого края текстового редактора, на котором должен быть обёрнут текст. Если режим обёртывания — FixedColumnWidth, значение — номер колонки (в колонках символов) от левого края текстового редактора, на котором должен быть обёрнут текст.
По умолчанию это свойство содержит значение 0.
Функции доступа:
| int | lineWrapColumnOrWidth() const |
| void | setLineWrapColumnOrWidth(int w) |
См. также lineWrapMode.
lineWrapMode : LineWrapMode
Это свойство содержит режим обёртывания строк.
Режим по умолчанию — WidgetWidth, который обрезает слова по правому краю текстового редактора. Обёртывание происходит по пробелам, сохраняя целые слова. Если нужно обёртывание внутри слов, используйте setWordWrapMode(). Если вы установили режим обёртывания FixedPixelWidth или FixedColumnWidth, вы также должны вызвать setLineWrapColumnOrWidth() с нужной шириной.
Функции доступа:
| QTextEdit::LineWrapMode | lineWrapMode() const |
| void | setLineWrapMode(QTextEdit::LineWrapMode mode) |
См. также lineWrapColumnOrWidth.
overwriteMode : bool
Это свойство определяет, будет ли введённый пользователем текст перезаписывать существующий текст.
Как и во многих текстовых редакторах, виджет текстового редактора может быть настроен на вставку или перезапись существующего текста новым введённым пользователем.
Если это свойство true, существующий текст перезаписывается символ за символом новым текстом; в противном случае, текст вставляется в позицию курсора, смещая существующий текст.
По умолчанию это свойство false (новый текст не перезаписывает существующий).
Это свойство было введено в Qt 4.1.
Функции доступа:
| bool | overwriteMode() const |
| void | setOverwriteMode(bool overwrite) |
placeholderText : QString
Это свойство содержит текст-заполнитель редактора.
Установка этого свойства отображает текст-заполнитель серого цвета, пока документ document() пуст.
По умолчанию это свойство содержит пустую строку.
Это свойство было введено в Qt 5.2.
Функции доступа:
| QString | placeholderText() const |
| void | setPlaceholderText(const QString &placeholderText) |
См. также document().
plainText : QString
Это свойство получает и устанавливает содержимое текстового редактора как простой текст. Предыдущее содержимое удаляется, а история отмены/повторной операции сбрасывается при установке свойства. currentCharFormat() также сбрасывается, если textCursor() не находится в начале документа.
Если текстовый редактор имеет другой тип содержимого, он не будет заменён простым текстом при вызове toPlainText(). Единственным исключением из этого является неразрывный пробел, nbsp;, который будет преобразован в обычный пробел.
По умолчанию для редактора без содержимого это свойство содержит пустую строку.
Это свойство было введено в Qt 4.3.
Функции доступа:
| QString | toPlainText() const |
| void | setPlainText(const QString &text) |
См. также html.
readOnly : bool
Это свойство определяет, является ли текстовое поле только для чтения
В текстовом поле только для чтения пользователь может только перемещаться по тексту и выделять текст; изменение текста невозможно.
Значение по умолчанию этого свойства — false.
Функции доступа:
| bool | isReadOnly() const |
| void | setReadOnly(bool ro) |
tabChangesFocus : bool
Это свойство определяет, изменяет ли нажатие клавиши Tab фокус или принимается как ввод
В некоторых случаях текстовые поля не должны позволять пользователю вводить табуляцию или изменять отступы с помощью клавиши Tab, так как это нарушает цепочку фокуса. Значение по умолчанию — false.
Функции доступа:
| bool | tabChangesFocus() const |
| void | setTabChangesFocus(bool b) |
tabStopDistance : qreal
Это свойство содержит расстояние до отступа табуляции в пикселях
По умолчанию это свойство содержит значение 80 пикселей.
Это свойство было добавлено в Qt 5.10.
Функции доступа:
| qreal | tabStopDistance() const |
| void | setTabStopDistance(qreal distance) |
textInteractionFlags : Qt::TextInteractionFlags
Определяет, как виджет должен взаимодействовать с пользовательским вводом.
Значение по умолчанию зависит от того, является ли QTextEdit только для чтения или редактируемым, а также от того, является ли это QTextBrowser или нет.
Это свойство было добавлено в Qt 4.2.
Функции доступа:
| Qt::TextInteractionFlags | textInteractionFlags() const |
| void | setTextInteractionFlags(Qt::TextInteractionFlags flags) |
undoRedoEnabled : bool
Это свойство определяет, включены ли операции отмены и повтора
Пользователи могут отменить или повторить действия только если это свойство имеет значение true и если есть действие, которое можно отменить (или повторить).
Функции доступа:
| bool | isUndoRedoEnabled() const |
| void | setUndoRedoEnabled(bool enable) |
wordWrapMode : QTextOption::WrapMode
Это свойство определяет режим, в котором QTextEdit будет использовать для переноса текста по словам
По умолчанию это свойство установлено в QTextOption::WrapAtWordBoundaryOrAnywhere.
Функции доступа:
| QTextOption::WrapMode | wordWrapMode() const |
| void | setWordWrapMode(QTextOption::WrapMode policy) |
См. также QTextOption::WrapMode.
Документация по членам функций
QTextEdit::QTextEdit(QWidget *parent = nullptr)
Создаёт пустое текстовое поле QTextEdit со родителем parent.
QTextEdit::QTextEdit(const QString &text, QWidget *parent = nullptr)
Создаёт QTextEdit с родителем parent. Текстовое поле будет отображать текст text. Текст интерпретируется как HTML.
[virtual] QTextEdit::~QTextEdit()
Деструктор.
Qt::Alignment QTextEdit::alignment() const
Возвращает выравнивание текущего абзаца.
См. также setAlignment().
QString QTextEdit::anchorAt(const QPoint &pos) const
Возвращает ссылку на якорь в позиции pos или пустую строку, если якорь в этой точке отсутствует.
[slot] void QTextEdit::append(const QString &text)
Добавляет новый абзац с текстом text в конец текстового поля.
Примечание: Новый добавленный абзац будет иметь тот же формат символов и абзаца, что и текущий абзац, определяемый позицией курсора.
См. также currentCharFormat() и QTextCursor::blockFormat().
[virtual protected] bool QTextEdit::canInsertFromMimeData(const QMimeData *source) const
Эта функция возвращает true, если содержимое объекта MIME-данных, указанного параметром source, может быть декодировано и вставлено в документ. Она вызывается, например, во время операции перетаскивания, когда курсор попадает в этот виджет, и необходимо определить, можно ли принять операцию перетаскивания и опускания.
Переопределите эту функцию, чтобы включить поддержку перетаскивания и опускания для дополнительных типов MIME.
bool QTextEdit::canPaste() const
Возвращает, можно ли вставить текст из буфера обмена в текстовое поле.
Эта функция была добавлена в Qt 4.2.
[override virtual protected] void QTextEdit::changeEvent(QEvent *e)
Переопределено из QFrame::changeEvent().
[slot] void QTextEdit::clear()
Удаляет весь текст из текстового поля.
Примечания:
- История отмены/повтора также очищается.
- currentCharFormat() сбрасывается, если textCursor() уже находится в начале документа.
См. также cut(), setPlainText(), и setHtml().
[override virtual protected] void QTextEdit::contextMenuEvent(QContextMenuEvent *event)
Переопределено из QAbstractScrollArea::contextMenuEvent().
Отображает стандартное контекстное меню, созданное с помощью createStandardContextMenu().
Если вы не хотите, чтобы текстовое поле имело контекстное меню, установите его contextMenuPolicy в Qt::NoContextMenu. Если вы хотите настроить контекстное меню, переопределите эту функцию. Если вы хотите расширить стандартное контекстное меню, переопределите эту функцию, вызовите createStandardContextMenu() и расширьте возвращённое меню.
Информация о событии передаётся в объекте event.
void MyTextEdit::contextMenuEvent(QContextMenuEvent *event)
{
QMenu *menu = createStandardContextMenu();
menu->addAction(tr("My Menu Item"));
//...
menu->exec(event->globalPos());
delete menu;
}
[slot] void QTextEdit::copy()
Копирует выделенный текст в буфер обмена.
См. также copyAvailable().
[signal] void QTextEdit::copyAvailable(bool yes)
Этот сигнал подаётся, когда текст выбран или отменён в текстовом поле.
Когда текст выбран, этот сигнал подаётся с установленным yes в true. Если текст не выбран или если выделенный текст отменён, этот сигнал подаётся с установленным yes в false.
Если yes true, то copy() можно использовать для копирования выделения в буфер обмена. Если yes false, то copy() ничего не делает.
См. также selectionChanged().
[virtual protected] QMimeData *QTextEdit::createMimeDataFromSelection() const
Эта функция возвращает новый объект MIME данных, представляющий содержимое текущего выделения в редакторе текста. Она вызывается при необходимости инкапсуляции выделения в новый объект QMimeData, например, при запуске операции перетаскивания или копировании данных в буфер обмена.
Если вы переопределяете эту функцию, обратите внимание, что владение возвращённым объектом QMimeData передаётся вызывающей стороне. Выделение можно получить, используя функцию textCursor().
QMenu *QTextEdit::createStandardContextMenu()
Эта функция создаёт стандартное контекстное меню, которое отображается при щелчке правой кнопкой мыши по редактору текста. Она вызывается из обработчика событий контекстного меню contextMenuEvent() по умолчанию. Владение всплывающим меню передаётся вызывающей стороне.
Рекомендуется использовать версию createStandardContextMenu(QPoint) для включения действий, чувствительных к месту щелчка пользователя.
QMenu *QTextEdit::createStandardContextMenu(const QPoint &position)
Эта функция создаёт стандартное контекстное меню, которое отображается при щелчке правой кнопкой мыши по редактору текста. Она вызывается из обработчика событий контекстного меню contextMenuEvent() по умолчанию и принимает координаты position в координатах документа, где был щелчок мыши. Это может активировать действия, чувствительные к положению щелчка пользователя. Владение всплывающим меню передаётся вызывающей стороне.
Данная функция была введена в Qt 4.4.
QTextCharFormat QTextEdit::currentCharFormat() const
Возвращает формат символа, используемый при вставке нового текста.
См. также setCurrentCharFormat().
[signal] void QTextEdit::currentCharFormatChanged(const QTextCharFormat &f)
Этот сигнал генерируется, если текущий формат символа изменился, например, из-за изменения позиции курсора.
Новый формат — f.
См. также setCurrentCharFormat().
QFont QTextEdit::currentFont() const
Возвращает шрифт текущего формата.
См. также setCurrentFont(), setFontFamily() и setFontPointSize().
QTextCursor QTextEdit::cursorForPosition(const QPoint &pos) const
Возвращает QTextCursor в позиции pos (в координатах области просмотра).
[signal] void QTextEdit::cursorPositionChanged()
Этот сигнал генерируется всякий раз, когда изменяется положение курсора.
QRect QTextEdit::cursorRect(const QTextCursor &cursor) const
Возвращает прямоугольник (в координатах области просмотра), включающий cursor.
QRect QTextEdit::cursorRect() const
Возвращает прямоугольник (в координатах области просмотра), включающий курсор редактора текста.
[slot] void QTextEdit::cut()
Копирует выделенный текст в буфер обмена и удаляет его из редактора текста.
Если выделенный текст отсутствует, ничего не происходит.
[override virtual protected] void QTextEdit::dragEnterEvent(QDragEnterEvent *e)
Переопределено из QAbstractScrollArea::dragEnterEvent().
[override virtual protected] void QTextEdit::dragLeaveEvent(QDragLeaveEvent *e)
Переопределено из QAbstractScrollArea::dragLeaveEvent().
[override virtual protected] void QTextEdit::dragMoveEvent(QDragMoveEvent *e)
Переопределено из QAbstractScrollArea::dragMoveEvent().
[override virtual protected] void QTextEdit::dropEvent(QDropEvent *e)
Переопределено из QAbstractScrollArea::dropEvent().
void QTextEdit::ensureCursorVisible()
Обеспечивает видимость курсора, при необходимости прокручивая редактор текста.
QList<QTextEdit::ExtraSelection> QTextEdit::extraSelections() const
Возвращает ранее установленные дополнительные выделения.
Данная функция была введена в Qt 4.2.
См. также setExtraSelections().
bool QTextEdit::find(const QString &exp, QTextDocument::FindFlags options = ...)
Ищет следующее вхождение строки exp с использованием заданных options. Возвращает true если exp найдено и изменяет курсор для выделения совпадения; в противном случае возвращает false.
bool QTextEdit::find(const QRegExp &exp, QTextDocument::FindFlags options = ...)
Это перегруженная функция.
Ищет следующее вхождение, соответствующее регулярному выражению exp, используя заданные options. Опция QTextDocument::FindCaseSensitively игнорируется для этого переопределения; используйте QRegExp::caseSensitivity вместо этого.
Возвращает true если совпадение найдено и изменяет курсор для выделения совпадения; в противном случае возвращает false.
Данная функция была введена в Qt 5.3.
[override virtual protected] void QTextEdit::focusInEvent(QFocusEvent *e)
Переопределено из QWidget::focusInEvent().
[override virtual protected] bool QTextEdit::focusNextPrevChild(bool next)
Переопределено из QWidget::focusNextPrevChild().
[override virtual protected] void QTextEdit::focusOutEvent(QFocusEvent *e)
Переопределено из QWidget::focusOutEvent().
QString QTextEdit::fontFamily() const
Возвращает имя семейства шрифтов текущего формата.
См. также setFontFamily(), setCurrentFont() и setFontPointSize().
bool QTextEdit::fontItalic() const
Возвращает true если шрифт текущего формата курсивный, иначе возвращает false.
См. также setFontItalic().
qreal QTextEdit::fontPointSize() const
Возвращает размер шрифта текущего формата в пунктах.
См. также setFontFamily(), setCurrentFont() и setFontPointSize().
bool QTextEdit::fontUnderline() const
Возвращает true если шрифт текущего формата подчеркнут, иначе возвращает false.
См. также setFontUnderline().
int QTextEdit::fontWeight() const
Возвращает начертание шрифта текущего формата.
См. также setFontWeight(), setCurrentFont(), setFontPointSize() и QFont::Weight.
[override virtual protected] void QTextEdit::inputMethodEvent(QInputMethodEvent *e)
Переопределено из QWidget::inputMethodEvent().
[override virtual] QVariant QTextEdit::inputMethodQuery(Qt::InputMethodQuery property) const
Переопределено из QWidget::inputMethodQuery().
[virtual protected] void QTextEdit::insertFromMimeData(const QMimeData *source)
Данная функция вставляет содержимое объекта данных MIME, заданного параметром source, в поле редактирования текста в текущей позиции курсора. Она вызывается всякий раз, когда текст вставляется в результате операции вставки из буфера обмена или когда поле редактирования текста принимает данные из операции перетаскивания.
Переопределите эту функцию, чтобы включить поддержку перетаскивания для дополнительных типов MIME.
[slot] void QTextEdit::insertHtml(const QString &text)
Удобный слот, который вставляет text, предположительно имеющий формат HTML, в текущую позицию курсора.
Он эквивалентен:
edit->textCursor().insertHtml(fragment);
Примечание: При использовании этой функции со стилем, стиль будет применён только к текущему блоку документа. Для применения стиля ко всему документу, используйте QTextDocument::setDefaultStyleSheet() вместо этого.
[slot] void QTextEdit::insertPlainText(const QString &text)
Удобный слот, который вставляет text в текущую позицию курсора.
Он эквивалентен
edit->textCursor().insertText(text);
[override virtual protected] void QTextEdit::keyPressEvent(QKeyEvent *e)
Переопределено из QAbstractScrollArea::keyPressEvent().
[override virtual protected] void QTextEdit::keyReleaseEvent(QKeyEvent *e)
Переопределено из QWidget::keyReleaseEvent().
[virtual] QVariant QTextEdit::loadResource(int type, const QUrl &name)
Загружает ресурс, указанный заданным type и name.
Эта функция является расширением QTextDocument::loadResource().
Примечание: Эту функцию можно вызвать через систему метаобъектов и из QML. См. Q_INVOKABLE.
См. также QTextDocument::loadResource().
void QTextEdit::mergeCurrentCharFormat(const QTextCharFormat &modifier)
Объединяет свойства, заданные в modifier, в текущий формат символа, вызывая QTextCursor::mergeCharFormat на курсоре редактора. Если редактор имеет выделение, то свойства modifier непосредственно применяются к выделению.
См. также QTextCursor::mergeCharFormat().
[override virtual protected] void QTextEdit::mouseDoubleClickEvent(QMouseEvent *e)
Переопределено из QAbstractScrollArea::mouseDoubleClickEvent().
[override virtual protected] void QTextEdit::mouseMoveEvent(QMouseEvent *e)
Переопределено из QAbstractScrollArea::mouseMoveEvent().
[override virtual protected] void QTextEdit::mousePressEvent(QMouseEvent *e)
Переопределено из QAbstractScrollArea::mousePressEvent().
[override virtual protected] void QTextEdit::mouseReleaseEvent(QMouseEvent *e)
Переопределено из QAbstractScrollArea::mouseReleaseEvent().
void QTextEdit::moveCursor(QTextCursor::MoveOperation operation, QTextCursor::MoveMode mode = QTextCursor::MoveAnchor)
Перемещает курсор, выполняя заданную операцию operation.
Если mode равен QTextCursor::KeepAnchor, курсор выделяет текст, по которому он перемещается. Это тот же эффект, который пользователь достигает, удерживая нажатой клавишу Shift и перемещая курсор клавишами курсора.
Эта функция была добавлена в Qt 4.2.
См. также QTextCursor::movePosition().
[override virtual protected] void QTextEdit::paintEvent(QPaintEvent *event)
Переопределено из QAbstractScrollArea::paintEvent().
Этот обработчик событий может быть переопределён в подклассе для получения событий рисования, переданных в event. Обычно нет необходимости переопределять эту функцию в подклассе QTextEdit.
Предупреждение: Необходимо не изменять основной документ с текста внутри переопределённой функции.
[slot] void QTextEdit::paste()
Вставляет текст из буфера обмена в поле редактирования текста в текущей позиции курсора.
Если в буфере обмена нет текста, ничего не происходит.
Чтобы изменить поведение этой функции, т.е. изменить то, что QTextEdit может вставить и как это делается, переопределите виртуальные функции canInsertFromMimeData() и insertFromMimeData().
void QTextEdit::print(QPagedPaintDevice *printer) const
Удобная функция для печати документа поля редактирования текста на заданном принтере printer. Это эквивалентно вызову метода печати на документе непосредственно, за исключением того, что эта функция также поддерживает QPrinter::Selection в качестве диапазона печати.
Эта функция была добавлена в Qt 4.3.
См. также QTextDocument::print().
[slot] void QTextEdit::redo()
Повторяет последнюю операцию.
Если нет операции для повтора, т.е. нет шага повтора в истории отмены/повтора, ничего не происходит.
Эта функция была добавлена в Qt 4.2.
См. также undo().
[signal] void QTextEdit::redoAvailable(bool available)
Это сигнал, который испускается всякий раз, когда операции повтора становятся доступными (available истинно) или недоступными (available ложно).
[override virtual protected] void QTextEdit::resizeEvent(QResizeEvent *e)
Переопределено из QAbstractScrollArea::resizeEvent().
[override virtual protected] void QTextEdit::scrollContentsBy(int dx, int dy)
Переопределено из QAbstractScrollArea::scrollContentsBy().
[slot] void QTextEdit::scrollToAnchor(const QString &name)
Прокручивает поле редактирования текста так, чтобы якорь с заданным name был виден; ничего не делает, если name пустая, уже видна или не найдена.
[slot] void QTextEdit::selectAll()
Выделяет весь текст.
См. также copy(), cut(), и textCursor().
[signal] void QTextEdit::selectionChanged()
Этот сигнал испускается всякий раз, когда изменяется выделение.
См. также copyAvailable().
[slot] void QTextEdit::setAlignment(Qt::Alignment a)
Устанавливает выравнивание текущего абзаца на a. Допустимые выравнивания — Qt::AlignLeft, Qt::AlignRight, Qt::AlignJustify и Qt::AlignCenter (которое центрирует по горизонтали).
См. также alignment().
void QTextEdit::setCurrentCharFormat(const QTextCharFormat &format)
Устанавливает формат символа, который будет использоваться при вставке нового текста в format, вызывая QTextCursor::setCharFormat() на курсоре редактора. Если редактор имеет выделение, то формат символа напрямую применяется к выделению.
См. также currentCharFormat().
[slot] void QTextEdit::setCurrentFont(const QFont &f)
Устанавливает шрифт текущего формата на f.
См. также currentFont(), setFontPointSize(), и setFontFamily().
void QTextEdit::setExtraSelections(const QList<QTextEdit::ExtraSelection> &selections)
Эта функция позволяет временно помечать определённые области в документе заданным цветом, заданным как selections. Это может быть полезно, например, в редакторе программ для выделения целой строки текста заданным цветом фона, чтобы указать на наличие точки останова.
Эта функция была введена в Qt 4.2.
См. также QTextEdit::ExtraSelection и extraSelections().
[slot] void QTextEdit::setFontFamily(const QString &fontFamily)
Устанавливает семейство шрифтов текущего формата на fontFamily.
См. также fontFamily() и setCurrentFont().
[slot] void QTextEdit::setFontItalic(bool italic)
Если italic равно true, устанавливает текущий формат на курсив; в противном случае устанавливает текущий формат на не курсив.
См. также fontItalic().
[slot] void QTextEdit::setFontPointSize(qreal s)
Устанавливает размер шрифта текущего формата на s.
Обратите внимание, что если s равно нулю или отрицательно, поведение этой функции не определено.
См. также fontPointSize(), setCurrentFont() и setFontFamily().
[slot] void QTextEdit::setFontUnderline(bool underline)
Если underline равно true, устанавливает текущий формат на подчеркнутый; в противном случае устанавливает текущий формат на не подчеркнутый.
См. также fontUnderline().
[slot] void QTextEdit::setFontWeight(int weight)
Устанавливает начертание шрифта текущего формата на заданное значение weight, где значение находится в диапазоне, определённом перечислением QFont::Weight.
См. также fontWeight(), setCurrentFont() и setFontFamily().
[slot] void QTextEdit::setPlainText(const QString &text)
Изменяет текст текстового поля на строку text. Любой предыдущий текст удаляется.
Примечания:
- text интерпретируется как обычный текст.
- История отмены/повтор также очищается.
- currentCharFormat() сбрасывается, если textCursor() ещё не в начале документа.
Примечание: Функция-сеттер для свойства plainText.
См. также toPlainText().
[slot] void QTextEdit::setText(const QString &text)
Устанавливает текст текстового поля на text. Текст может быть обычным или HTML, и текстовое поле попытается определить правильный формат.
Используйте setHtml() или setPlainText() напрямую, чтобы избежать попыток определения формата текстовым полем.
Эта функция была введена в Qt 4.2.
См. также toPlainText() и toHtml().
[slot] void QTextEdit::setTextBackgroundColor(const QColor &c)
Устанавливает цвет фона текста текущего формата на c.
Эта функция была введена в Qt 4.4.
См. также textBackgroundColor().
[slot] void QTextEdit::setTextColor(const QColor &c)
Устанавливает цвет текста текущего формата на c.
См. также textColor().
void QTextEdit::setTextCursor(const QTextCursor &cursor)
Устанавливает видимый cursor.
См. также textCursor().
[override virtual protected] void QTextEdit::showEvent(QShowEvent *)
Переопределено из QWidget::showEvent().
QColor QTextEdit::textBackgroundColor() const
Возвращает цвет фона текста текущего формата.
Эта функция была введена в Qt 4.4.
См. также setTextBackgroundColor().
[signal] void QTextEdit::textChanged()
Этот сигнал излучается всякий раз, когда содержимое документа изменяется; например, при вставке или удалении текста или применении форматирования.
Примечание: Сигнал-уведомление для свойства html.
QColor QTextEdit::textColor() const
Возвращает цвет текста текущего формата.
См. также setTextColor().
QTextCursor QTextEdit::textCursor() const
Возвращает копию QTextCursor, представляющей текущий видимый курсор. Обратите внимание, что изменения в возвращаемом курсоре не влияют на курсор QTextEdit; используйте setTextCursor() для обновления видимого курсора.
См. также setTextCursor().
QString QTextEdit::toPlainText() const
QString QTextEdit::toPlainText() const
Возвращает текст текстового поля в виде простого текста.
Примечание: Функция-геттер для свойства plainText.
См. также QTextEdit::setPlainText().
[slot] void QTextEdit::undo()
Отменяет последнюю операцию.
Если нет операции для отмены, т.е. нет шага отмены в истории отмены/повтора, ничего не происходит.
Эта функция была введена в Qt 4.2.
См. также redo().
[signal] void QTextEdit::undoAvailable(bool available)
Этот сигнал излучается всякий раз, когда операции отмены становятся доступными (available равно true) или недоступными (available равно false).
[override virtual protected] void QTextEdit::wheelEvent(QWheelEvent *e)
Переопределено из QAbstractScrollArea::wheelEvent().
[slot] void QTextEdit::zoomIn(int range = 1)
Увеличивает масштаб текста, увеличивая базовый размер шрифта на range пунктов и пересчитывая все размеры шрифтов для нового размера. Это не меняет размер изображений.
См. также zoomOut().
[slot] void QTextEdit::zoomOut(int range = 1)
Уменьшает масштаб текста, уменьшая базовый размер шрифта на range пунктов и пересчитывая все размеры шрифтов для нового размера. Это не меняет размер изображений.
См. также zoomIn().
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.12/qtextedit.html