Класс QTextEdit
Класс QTextEdit предоставляет виджет, используемый для редактирования и отображения простого и форматированного текста. Подробнее...
| Заголовок: | #include <QTextEdit> |
| qmake: | QT += widgets |
| Наследуется от: | QAbstractScrollArea |
| Наследует: |
Общедоступные типы
| класс | ExtraSelection |
| флаги | AutoFormatting |
| перечисление | AutoFormattingFlag { AutoNone, AutoBulletList, AutoAll } |
| перечисление | LineWrapMode { NoWrap, WidgetWidth, FixedPixelWidth, FixedColumnWidth } |
Свойства
|
|
- 3 свойства унаследованы от QAbstractScrollArea
- 6 свойств унаследованы от QFrame
- 59 свойств унаследованы от QWidget
- 1 свойство унаследовано от QObject
Общедоступные функции
| QTextEdit(QWidget *parent = Q_NULLPTR) | |
| QTextEdit(const QString &text, QWidget *parent = Q_NULLPTR) | |
| virtual | ~QTextEdit() |
| bool | acceptRichText() const |
| Qt::Alignment | alignment() const |
| QString | anchorAt(const QPoint &pos) const |
| 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<ExtraSelection> | extraSelections() const |
| bool | find(const QString &exp, QTextDocument::FindFlags options = QTextDocument::FindFlags()) |
| bool | find(const QRegExp &exp, QTextDocument::FindFlags options = QTextDocument::FindFlags()) |
| QString | fontFamily() const |
| bool | fontItalic() const |
| qreal | fontPointSize() const |
| bool | fontUnderline() const |
| int | fontWeight() const |
| bool | isReadOnly() const |
| bool | isUndoRedoEnabled() const |
| int | lineWrapColumnOrWidth() const |
| 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(AutoFormatting features) |
| void | setCurrentCharFormat(const QTextCharFormat &format) |
| void | setCursorWidth(int width) |
| void | setDocument(QTextDocument *document) |
| void | setDocumentTitle(const QString &title) |
| void | setExtraSelections(const QList<ExtraSelection> &selections) |
| void | setLineWrapColumnOrWidth(int w) |
| void | setLineWrapMode(LineWrapMode mode) |
| void | setOverwriteMode(bool overwrite) |
| void | setPlaceholderText(const QString &placeholderText) |
| void | setReadOnly(bool ro) |
| void | setTabChangesFocus(bool b) |
| void | setTabStopWidth(int width) |
| void | setTextCursor(const QTextCursor &cursor) |
| void | setTextInteractionFlags(Qt::TextInteractionFlags flags) |
| void | setUndoRedoEnabled(bool enable) |
| void | setWordWrapMode(QTextOption::WrapMode policy) |
| bool | tabChangesFocus() const |
| int | tabStopWidth() const |
| QColor | textBackgroundColor() const |
| QColor | textColor() const |
| QTextCursor | textCursor() const |
| Qt::TextInteractionFlags | textInteractionFlags() const |
| QString | toHtml() const |
| QString | toPlainText() const |
| QTextOption::WrapMode | wordWrapMode() const |
Реализованные публичные функции
| virtual QVariant | inputMethodQuery(Qt::InputMethodQuery property) const |
- 20 публичных функций унаследованных от QAbstractScrollArea
- 14 публичных функций унаследованных от QFrame
- 214 публичных функций унаследованных от QWidget
- 32 публичных функций унаследованных от QObject
- 14 публичных функций унаследованных от QPaintDevice
Публичные слоты
| 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) |
Сигналы
| void | copyAvailable(bool yes) |
| void | currentCharFormatChanged(const QTextCharFormat &f) |
| void | cursorPositionChanged() |
| void | redoAvailable(bool available) |
| void | selectionChanged() |
| void | textChanged() |
| void | undoAvailable(bool available) |
Защищенные функции
| virtual bool | canInsertFromMimeData(const QMimeData *source) const |
| virtual QMimeData * | createMimeDataFromSelection() const |
| virtual void | insertFromMimeData(const QMimeData *source) |
Переопределённые защищённые функции
| virtual void | changeEvent(QEvent *e) |
| virtual void | contextMenuEvent(QContextMenuEvent *event) |
| virtual void | dragEnterEvent(QDragEnterEvent *e) |
| virtual void | dragLeaveEvent(QDragLeaveEvent *e) |
| virtual void | dragMoveEvent(QDragMoveEvent *e) |
| virtual void | dropEvent(QDropEvent *e) |
| virtual void | focusInEvent(QFocusEvent *e) |
| virtual bool | focusNextPrevChild(bool next) |
| virtual void | focusOutEvent(QFocusEvent *e) |
| virtual void | inputMethodEvent(QInputMethodEvent *e) |
| virtual void | keyPressEvent(QKeyEvent *e) |
| virtual void | keyReleaseEvent(QKeyEvent *e) |
| virtual void | mouseDoubleClickEvent(QMouseEvent *e) |
| virtual void | mouseMoveEvent(QMouseEvent *e) |
| virtual void | mousePressEvent(QMouseEvent *e) |
| virtual void | mouseReleaseEvent(QMouseEvent *e) |
| virtual void | paintEvent(QPaintEvent *event) |
| virtual void | resizeEvent(QResizeEvent *e) |
| virtual void | scrollContentsBy(int dx, int dy) |
| virtual void | showEvent(QShowEvent *) |
| virtual void | wheelEvent(QWheelEvent *e) |
- 20 защищённые функции, унаследованные от QAbstractScrollArea
- 4 защищённые функции, унаследованные от QFrame
- 35 защищённые функции, унаследованные от QWidget
- 9 защищённые функции, унаследованные от QObject
- 1 защищённая функция, унаследованная от QPaintDevice
Дополнительные унаследованные члены
- 5 статических публичных членов, унаследованных от QWidget
- 11 статических публичных членов, унаследованных от QObject
- 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, например, это часто полезно в просмотре журналов, то вы можете использовать свойство maximumBlockCount класса QTextDocument для этого.
Связки клавиш для только чтения
Когда QTextEdit используется в режиме только чтения, нажатия клавиш ограничены навигацией, а текст можно выделять только мышкой:
| Нажатие клавиш | Действие |
|---|---|
| Вверх | Перемещение на строку вверх. |
| Вниз | Перемещение на строку вниз. |
| Влево | Перемещение на один символ влево. |
| Вправо | Перемещение на один символ вправо. |
| PageUp | Перемещение на одну страницу вверх (область просмотра). |
| PageDown | Перемещение на одну страницу вниз (область просмотра). |
| 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 | Повторяет последнее действие. |
| Left | Перемещает курсор на один символ влево. |
| Ctrl+Left | Перемещает курсор на одно слово влево. |
| Right | Перемещает курсор на один символ вправо. |
| Ctrl+Right | Перемещает курсор на одно слово вправо. |
| Up | Перемещает курсор на одну строку вверх. |
| Down | Перемещает курсор на одну строку вниз. |
| PageUp | Перемещает курсор на одну страницу вверх. |
| PageDown | Перемещает курсор на одну страницу вниз. |
| Home | Перемещает курсор в начало строки. |
| Ctrl+Home | Перемещает курсор в начало текста. |
| End | Перемещает курсор в конец строки. |
| Ctrl+End | Перемещает курсор в конец текста. |
| Alt+Wheel | Прокручивает страницу по горизонтали (Wheel — колесо мыши). |
Для выделения (маркирования) текста удерживайте нажатой клавишу Shift и нажмите одну из клавиш перемещения, например, Shift+Right выделит символ справа, а Shift+Ctrl+Right — слово справа и т. д.
См. также QTextDocument, QTextCursor, Пример приложения, Пример подсветки синтаксиса и Обработка форматированного текста.
Документация по типам членов
перечисление QTextEdit::AutoFormattingFlagфлаги QTextEdit::AutoFormatting
| Константа | Значение | Описание |
|---|---|---|
QTextEdit::AutoNone |
0 |
Не выполнять автоматическое форматирование. |
QTextEdit::AutoBulletList |
0x00000001 |
Автоматически создавать списки с маркерами (например, когда пользователь вводит звездочку ('*') в крайнем левом столбце или нажимает Enter в существующем элементе списка. |
QTextEdit::AutoAll |
0xffffffff |
Применять все автоматическое форматирование. В настоящее время поддерживаются только автоматические списки с маркерами. |
Тип AutoFormatting — это typedef для 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 могут быть добавлены другие.
Функции доступа:
| AutoFormatting | autoFormatting() const |
| void | setAutoFormatting(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.
Примечание: Ответственность за правильное декодирование текста лежит на вызывающей стороне, когда 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() со значением нужной ширины.
Функции доступа:
| LineWrapMode | lineWrapMode() const |
| void | setLineWrapMode(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
Это свойство получает и устанавливает содержимое текстового редактора как простой текст. Предыдущее содержимое удаляется, а история отмены/повтора сбрасывается при установке свойства.
Если у текстового редактора другой тип содержимого, он не будет заменён простым текстом при вызове 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) |
tabStopWidth : int
Это свойство содержит ширину отступа табуляции в пикселях.
По умолчанию это свойство содержит значение 80 пикселей.
Это свойство было добавлено в Qt 4.1.
Функции доступа:
| int | tabStopWidth() const |
| void | setTabStopWidth(int width) |
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 = Q_NULLPTR)
Создает пустой QTextEdit с родителем parent.
QTextEdit::QTextEdit(const QString &text, QWidget *parent = Q_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
Возвращает true, если текст можно вставить из буфера обмена в текстовое поле.
Эта функция была добавлена в Qt 4.2.
[virtual protected] void QTextEdit::changeEvent(QEvent *e)
Переопределено из QWidget::changeEvent().
[slot] void QTextEdit::clear()
Удаляет весь текст в текстовом поле.
Обратите внимание, что история отмены/повтора очищается этой функцией.
См. также cut(), setPlainText(), и setHtml().
[virtual protected] void QTextEdit::contextMenuEvent(QContextMenuEvent *event)
Переопределено из QWidget::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() и принимает координаты щелчка мыши в координатах документа. Это позволяет активировать действия, чувствительные к положению щелчка пользователя. Владение всплывающим меню передаётся вызывающей стороне.
Эта функция была добавлена в 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()
Копирует выделенный текст в буфер обмена и удаляет его из текстового редактора.
Если выделенный текст отсутствует, ничего не происходит.
[virtual protected] void QTextEdit::dragEnterEvent(QDragEnterEvent *e)
Переопределено из QWidget::dragEnterEvent().
[virtual protected] void QTextEdit::dragLeaveEvent(QDragLeaveEvent *e)
Переопределено из QWidget::dragLeaveEvent().
[virtual protected] void QTextEdit::dragMoveEvent(QDragMoveEvent *e)
Переопределено из QWidget::dragMoveEvent().
[virtual protected] void QTextEdit::dropEvent(QDropEvent *e)
Переопределено из QWidget::dropEvent().
void QTextEdit::ensureCursorVisible()
Обеспечивает видимость курсора, прокручивая текстовый редактор при необходимости.
QList<ExtraSelection> QTextEdit::extraSelections() const
Возвращает ранее заданные дополнительные выделения.
Эта функция была добавлена в Qt 4.2.
См. также setExtraSelections().
bool QTextEdit::find(const QString &exp, QTextDocument::FindFlags options = QTextDocument::FindFlags())
Ищет следующее вхождение строки exp с заданными options. Возвращает true если exp найдено и меняет курсор на выделение совпадения; в противном случае возвращает false.
bool QTextEdit::find(const QRegExp &exp, QTextDocument::FindFlags options = QTextDocument::FindFlags())
Это перегруженная функция.
Ищет следующее вхождение, соответствующее регулярному выражению exp, с заданными options. Опция QTextDocument::FindCaseSensitively игнорируется для этого переопределения, используйте QRegExp::caseSensitivity вместо этого.
Возвращает true если совпадение найдено и меняет курсор на выделение совпадения; в противном случае возвращает false.
Эта функция была добавлена в Qt 5.3.
[virtual protected] void QTextEdit::focusInEvent(QFocusEvent *e)
Переопределено из QWidget::focusInEvent().
[virtual protected] bool QTextEdit::focusNextPrevChild(bool next)
Переопределено из QWidget::focusNextPrevChild().
[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.
[virtual protected] void QTextEdit::inputMethodEvent(QInputMethodEvent *e)
Переопределено из QWidget::inputMethodEvent().
[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);
[virtual protected] void QTextEdit::keyPressEvent(QKeyEvent *e)
Переопределено из QWidget::keyPressEvent().
[virtual protected] void QTextEdit::keyReleaseEvent(QKeyEvent *e)
Переопределено из QWidget::keyReleaseEvent().
[virtual] QVariant QTextEdit::loadResource(int type, const QUrl &name)
Загружает ресурс, указанный заданным type и name.
Эта функция является расширением QTextDocument::loadResource().
См. также QTextDocument::loadResource().
void QTextEdit::mergeCurrentCharFormat(const QTextCharFormat &modifier)
Объединяет свойства, указанные в modifier, в текущий формат символа, вызывая QTextCursor::mergeCharFormat на курсоре редактора. Если редактор имеет выделение, то свойства modifier непосредственно применяются к выделению.
См. также QTextCursor::mergeCharFormat().
[virtual protected] void QTextEdit::mouseDoubleClickEvent(QMouseEvent *e)
Переопределено из QWidget::mouseDoubleClickEvent().
[virtual protected] void QTextEdit::mouseMoveEvent(QMouseEvent *e)
Переопределено из QWidget::mouseMoveEvent().
[virtual protected] void QTextEdit::mousePressEvent(QMouseEvent *e)
Переопределено из QWidget::mousePressEvent().
[virtual protected] void QTextEdit::mouseReleaseEvent(QMouseEvent *e)
Переопределено из QWidget::mouseReleaseEvent().
void QTextEdit::moveCursor(QTextCursor::MoveOperation operation, QTextCursor::MoveMode mode = QTextCursor::MoveAnchor)
Перемещает курсор, выполняя заданную operation.
Если mode равен QTextCursor::KeepAnchor, курсор выделяет текст, над которым он перемещается. Это тот же эффект, которого пользователь достигает, удерживая нажатой клавишу Shift и перемещая курсор клавишами.
Эта функция была введена в Qt 4.2.
См. также QTextCursor::movePosition().
[virtual protected] void QTextEdit::paintEvent(QPaintEvent *event)
Переопределено из QWidget::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 ложно).
[virtual protected] void QTextEdit::resizeEvent(QResizeEvent *e)
Переопределено из QWidget::resizeEvent().
[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<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 истинно, устанавливает текущий формат в курсивный; в противном случае устанавливает текущий формат в некурсивный.
См. также 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 интерпретируется как обычный текст.
Обратите внимание, что история отмены/повторa очищается этой функцией.
Примечание: Функция-сеттер для свойства 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().
[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()
Отменяет последнее действие.
Если отменить нечего, то есть нет шага отмены в истории отмены/повторa, ничего не происходит.
Функция была добавлена в Qt 4.2.
См. также redo().
[signal] void QTextEdit::undoAvailable(bool available)
Этот сигнал испускается всякий раз, когда операции отмены становятся доступными (available равно true) или недоступными (available равно false).
[virtual protected] void QTextEdit::wheelEvent(QWheelEvent *e)
Переопределено из QWidget::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.9/qtextedit.html