Класс QTextEdit
Класс QTextEdit предоставляет виджет, используемый для редактирования и отображения простого и форматированного текста. Подробнее...
| Заголовок: | #include <QTextEdit> |
| qmake: | QT += widgets |
| Наследует: | QAbstractScrollArea |
| Наследуется от: |
Открытые типы
| класс | ExtraSelection |
| флаги | AutoFormatting |
| перечисление | AutoFormattingFlag { AutoNone, AutoBulletList, AutoAll } |
| перечисление | LineWrapMode { NoWrap, WidgetWidth, FixedPixelWidth, FixedColumnWidth } |
Свойства
|
|
- 3 свойства, унаследованные от QAbstractScrollArea
- 6 свойств, унаследованных от QFrame
- 58 свойств, унаследованных от 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
- 211 публичных функций, унаследованных от QWidget
- 31 публичной функции, унаследованной от 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 — это псевдоним для 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/archives/qt-5.6/qtextedit.html