QPlainTextEdit 类
QPlainTextEdit 类提供了一个用于编辑和显示普通文本的小部件。 更多...
头文件 | #include <QPlainTextEdit> |
CMake | find_package(Qt6 REQUIRED COMPONENTS Widgets) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
qmake | QT += widgets |
继承 | QAbstractScrollArea |
- 包含所有成员,包括继承的成员列表
- QPlainTextEdit 是 富文本处理 API 的一部分。
公共类型
枚举 | LineWrapMode { NoWrap, WidgetWidth } |
属性
|
|
公共函数
QPlainTextEdit(QWidget *parent = nullptr) | |
QPlainTextEdit(const QString &text, QWidget *parent = nullptr) | |
virtual | ~QPlainTextEdit() |
QString | anchorAt(const QPoint &pos) const |
bool | backgroundVisible() const |
int | blockCount() const |
bool | canPaste() const |
bool | centerOnScroll() const |
QMenu * | createStandardContextMenu() |
QMenu * | createStandardContextMenu(const QPoint &position) |
QTextCharFormat | currentCharFormat() 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 = QTextDocument::FindFlags()) |
bool | find(const QRegularExpression &exp, QTextDocument::FindFlags options = QTextDocument::FindFlags()) |
bool | isReadOnly() const |
bool | isUndoRedoEnabled() const |
QPlainTextEdit::LineWrapMode | lineWrapMode() const |
virtual QVariant | loadResource(int type, const QUrl &name) |
int | maximumBlockCount() const |
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 | setBackgroundVisible(bool visible) |
void | setCenterOnScroll(bool enabled) |
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 | setLineWrapMode(QPlainTextEdit::LineWrapMode mode) |
void | setMaximumBlockCount(int maximum) |
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 |
QTextCursor | textCursor() const |
Qt::TextInteractionFlags | textInteractionFlags() const |
QString | toPlainText() const |
QTextOption::WrapMode | wordWrapMode() const |
重实现公共函数
virtual QVariant | inputMethodQuery(Qt::InputMethodQuery property) const override |
公共槽
void | appendHtml(const QString &html) |
void | appendPlainText(const QString &text) |
void | 居中光标() |
void | 清除() |
void | 复制() |
void | 剪切() |
void | insertPlainText(const QString &text) |
void | 粘贴() |
void | 重做() |
void | 全选() |
void | setPlainText(const QString &text) |
void | 撤销() |
void | zoomIn(int range = 1) |
void | zoomOut(int range = 1) |
信号
void | blockCountChanged(int newBlockCount) |
void | copyAvailable(bool yes) |
void | 光标位置改变() |
void | modificationChanged(bool changed) |
void | redoAvailable(bool available) |
void | 选择改变() |
void | 文本改变() |
void | undoAvailable(bool available) |
void | updateRequest(const QRect &rect, int dy) |
受保护的函数
QRectF | blockBoundingGeometry(const QTextBlock &block) const |
QRectF | blockBoundingRect(const QTextBlock &block) const |
virtual bool | canInsertFromMimeData(const QMimeData *source) const |
QPointF | contentOffset() const |
virtual QMimeData * | createMimeDataFromSelection() const |
QTextBlock | firstVisibleBlock() const |
QAbstractTextDocumentLayout::PaintContext | getPaintContext() const |
virtual void | insertFromMimeData(const QMimeData *source) |
受重写的受保护函数
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 *e) override |
virtual void | resizeEvent(QResizeEvent *e) override |
virtual void | scrollContentsBy(int dx, int dy) override |
virtual void | showEvent(QShowEvent *) override |
virtual void | 滚动事件(QWheelEvent *e) 覆盖 |
详细描述
简介与概念
QPlainTextEdit 是一个高级的纯文本查看器/编辑器,针对处理大型文档和快速响应用户输入进行了优化。
QPlainText 与 QTextEdit 非常类似,但它针对纯文本处理进行了优化。
QPlainTextEdit 在段和字符上工作。一个段落是一个格式化的字符串,它被自动换行以适应部件的宽度。默认情况下,当读取纯文本时,一个换行符表示一个段落。一个文档可以由零个或多个段落组成。段落通过硬换行符分隔。段落中的每个字符都有自己的属性,例如字体和颜色。
QPlainTextEdit 上的鼠标光标形状默认为 Qt::IBeamCursor。可以通过 viewport() 的光标属性进行更改。
使用 QPlainTextEdit 作为显示部件
使用 setPlainText() 设置或替换文本,该函数会删除现有文本并替换为传递给 setPlainText() 的文本。
可以使用 QTextCursor 类或使用便利函数 insertPlainText(),appendPlainText() 或 paste() 插入文本。
默认情况下,文本编辑会将单词在空白处换行以适应文本编辑部件。使用 setLineWrapMode() 函数指定您想要的行换行方式,如果您不希望有换行,则可以为 NoWrap。如果您使用到部件宽度的换行(WidgetWidth),您可以指定是否在空白处或任何地方进行换行,使用 setWordWrapMode()。
可以使用 find() 函数查找和选择文本中的给定字符串。
如果您想限制 QPlainTextEdit 中的段落总数,例如在日志查看器中这很有用,则可以使用 maximumBlockCount 属性。将 setMaximumBlockCount() 和 appendPlainText() 结合使用将 QPlainTextEdit 转换为一个高效查看日志文本的查看器。可以减少滚动,使用 centerOnScroll() 属性,使日志查看器更快。文本可以以有限的方式格式化,可以使用语法高亮器(见下文),或者使用 appendHtml() 添加带有 html 格式的文本。虽然 QPlainTextEdit 不支持带有表格和浮动的复杂富文本渲染,但它支持有限段落格式化,这可能在日志查看器中很有用。
只读快捷方式
当 QPlainTextEdit 被用作只读时,快捷方式仅限于导航,并且文本只能通过鼠标选择。
按键 | 动作 |
---|---|
Qt::UpArrow | 向上移动一行。 |
Qt::DownArrow | 向下移动一行。 |
Qt::LeftArrow | 向左移动一个字符。 |
Qt::RightArrow | 向右移动一个字符。 |
PageUp | 向上移动一个(视口)页。 |
PageDown | 向下移动一个(视口)页。 |
Home | 移动到文本的开始处。 |
End | 移动到文本的末尾。 |
Alt+Wheel | 水平滚动页(滚动轮为鼠标滚轮)。 |
Ctrl+Wheel | 缩放文本。 |
Ctrl+A | 选择所有文本。 |
使用QPlainTextEdit作为编辑器
使用QPlainTextEdit作为显示小部件的所有信息也适用于此处。
文本选择由QTextCursor类处理,该类提供创建选择、检索文本内容或删除选择的函数。您可以使用textCursor()方法检索与用户可见光标相对应的对象。如果您想在QPlainTextEdit中设置选择,只需在QTextCursor对象上创建一个选择,然后使用setCursor()将其设置为可见光标。选择可以通过copy()复制到剪贴板,或者通过cut()剪切到剪贴板。使用selectAll()可以选择整个文本。
QPlainTextEdit持有QTextDocument对象,可以使用document()方法检索。您也可以使用setDocument()设置自己的文档对象。QTextDocument在文本更改时发出textChanged()信号,并提供一个isModified()函数,如果自文本加载以来或自上次使用参数为false调用setModified以来文本已被修改,将返回true。此外,它还提供了撤销和重做的函数。
语法高亮
类似于QTextEdit,QPlainTextEdit与QSyntaxHighlighter一起工作。
编辑键绑定
实现编辑的键绑定列表
按键 | 动作 |
---|---|
退格键 | 删除光标左侧的字符。 |
删除键 | 删除光标右侧的字符。 |
Ctrl+C | 将选定的文本复制到剪贴板。 |
Ctrl+Insert | 将选定的文本复制到剪贴板。 |
Ctrl+K | 删除到行尾。 |
Ctrl+V | 将剪贴板文本粘贴到文本编辑器中。 |
Shift+Insert | 将剪贴板文本粘贴到文本编辑器中。 |
Ctrl+X | 删除所选文本并将它复制到剪贴板。 |
Shift+Delete | 删除所选文本并将它复制到剪贴板。 |
Ctrl+Z | 撤销上一个操作。 |
Ctrl+Y | 重做上一个操作。 |
左箭头 | 将光标向左移动一个字符。 |
Ctrl+左箭头 | 将光标向左移动一个单词。 |
右箭头 | 将光标向右移动一个字符。 |
Ctrl+右箭头 | 将光标向右移动一个单词。 |
上箭头 | 将光标向上移动一行。 |
Ctrl+上箭头 | 将光标向上移动一个单词。 |
下箭头 | 将光标向下移动一行。 |
Ctrl+下箭头 | 将光标向下移动一个单词。 |
PageUp | 向上翻页 |
PageDown | 向下翻页 |
Home | 将光标移至行开头。 |
Ctrl+Home | 将光标移至文本开头。 |
End | 将光标移至行末。 |
Ctrl+End | 将光标移至文本末尾。 |
Alt+Wheel | 水平滚动页(滚动轮为鼠标滚轮)。 |
Ctrl+Wheel | 缩放文本。 |
要选择(标记)文本,按住Shift键的同时按下一个移动键,例如,Shift+右箭头将选择右边的字符,而Shift+Ctrl+右箭头将选择右边的单词等。
与QTextEdit的区别
QPlainTextEdit是一个薄的类,使用了大部分在QTextEdit和QTextDocument背后的技术。它在性能上相对于QTextEdit的优势主要来自于使用了一种不同且简化的文本布局,称为QPlainTextDocumentLayout。该普通文本文档布局不支持表格和嵌入式框架,且将像素精确高度计算替换为逐行逐段滚动方法。这使得处理极大文档成为可能,同时仍能实时调整带有自动换行的编辑器大小。这也使得快速日志查看器变得可能(见setMaximumBlockCount())。
{语法高亮示例}, {富文本处理}
属性文档
backgroundVisible : bool
此属性表示画布背景是否在文档区域外可见
如果设置为true,普通文本编辑会在文本文档未被覆盖的视口区域绘制画布背景。否则,如果设置为false,将不会绘制。这个功能使得用户可以直观地区分文档区域(使用画布的基本颜色绘制)以及没有任何文档覆盖的空白区域。
默认为false。
访问函数
bool | backgroundVisible() const |
void | setBackgroundVisible(bool visible) |
[只读]
blockCount : const int
此属性表示文档中的文本块数量
默认情况下,在一个空文档中,此属性包含的值是1。
访问函数
int | blockCount() const |
centerOnScroll : bool
此属性表示光标是否应该在屏幕中央
如果设置为true,普通文本编辑将垂直滚动文档,使光标在视口中央可见。这也允许文本编辑在文档末尾之后滚动。否则,如果设置为false,普通文本编辑将尽可能小地滚动,以确保光标可见。相同的算法应用于通过appendPlainText附加的任何新行。
默认为false。
访问函数
bool | centerOnScroll() const |
void | setCenterOnScroll(bool enabled) |
另见 centerCursor()和ensureCursorVisible。
cursorWidth : int
此属性指定光标在像素中的宽度。默认值是1。
访问函数
int | cursorWidth() const |
void | setCursorWidth(int width) |
documentTitle : QString
此属性持有从文本中解析出的文档标题
默认情况下,此属性包含一个空字符串。
访问函数
QString | documentTitle() const |
void | setDocumentTitle(const QString &title) |
lineWrapMode : LineWrapMode
此属性包含行的-wrap模式
默认模式是WidgetWidth,这将在文本编辑的右侧边缘进行换行。换行发生在空白处,保持整个单词完整。如果您想单词内部进行换行,请使用setWordWrapMode()。
访问函数
QPlainTextEdit::LineWrapMode | lineWrapMode() const |
void | setLineWrapMode(QPlainTextEdit::LineWrapMode mode) |
maximumBlockCount : int
此属性包含文档中块的限制
指定文档可能拥有的最大块数。如果文档中的块数超过此属性指定的块数,则将从文档开头移除块。
负数或零值表示文档可以包含无限数量的块。
默认值为0。
请注意,设置此属性将立即将此限制应用于文档内容。设置此属性还会禁用撤消重做历史记录。
访问函数
int | maximumBlockCount() const |
void | setMaximumBlockCount(int maximum) |
overwriteMode : bool
此属性表示用户输入的文本是否会覆盖现有文本
与许多文本编辑器一样,纯文本编辑器组件可以被配置为使用户输入的新文本替换或覆盖现有文本。
如果此属性为true
,则现有文本将被新文本逐字符覆盖;否则,文本将在光标位置插入,并替换现有文本。
默认情况下,此属性为false
(新文本不会覆盖现有文本)。
访问函数
bool | overwriteMode() const |
void | setOverwriteMode(bool overwrite) |
placeholderText : QString
此属性包含编辑器占位符文本
设置此属性将在编辑器为空时显示灰色占位符文本。
默认情况下,此属性包含一个空字符串。
访问函数
QString | placeholderText() const |
void | setPlaceholderText(const QString &placeholderText) |
另请参阅document。
plainText : QString
此属性获取和设置纯文本编辑器的文本内容。当设置此属性时,将移除先前的内容,重置撤消/重做历史记录。《当前字符格式)也将重置,除非textCursor)已经在文档开头。
默认情况下,对于没有任何内容的编辑器,此属性包含一个空字符串。
访问函数
QString | toPlainText() const |
void | setPlainText(const QString &text) |
通知信号
void | 文本改变() |
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像素的值。
不要设置小于 horizontalAdvance() 的值 QChar::VisualTabCharacter 字符,否则制表符将无法完整绘制。
访问函数
qreal | tabStopDistance() const |
void | setTabStopDistance(qreal distance) |
另请参阅 QTextOption::ShowTabsAndSpaces 和 QTextDocument::defaultTextOption。
textInteractionFlags : Qt::TextInteractionFlags
指定当标签显示文本时,应当如何与用户输入交互。
如果标志包含 Qt::LinksAccessibleByKeyboard 或 Qt::TextSelectableByKeyboard,则焦点策略也会自动设置为 Qt::ClickFocus。
默认值取决于 QPlainTextEdit 是只读还是可编辑的。
访问函数
Qt::TextInteractionFlags | textInteractionFlags() const |
void | setTextInteractionFlags(Qt::TextInteractionFlags flags) |
undoRedoEnabled : bool
此属性保存是否启用撤销和重做。
仅当此属性为 true,并且存在可以撤销(或重做)的操作时,用户才能撤销或重做动作。
默认情况下,此属性设置为 true
。
访问函数
bool | isUndoRedoEnabled() const |
void | setUndoRedoEnabled(bool enable) |
wordWrapMode : QTextOption::WrapMode
此属性保存 QPlainTextEdit 在按单词换行时将使用的模式
默认情况下,此属性设置为 QTextOption::WrapAtWordBoundaryOrAnywhere。
访问函数
QTextOption::WrapMode | wordWrapMode() const |
void | setWordWrapMode(QTextOption::WrapMode policy) |
另请参阅 QTextOption::WrapMode。
成员函数文档
[显式]
QPlainTextEdit::QPlainTextEdit(QWidget *parent = nullptr)
以父 parent 构建。空白的 QPlainTextEdit。
[显式]
QPlainTextEdit::QPlainTextEdit(const QString &text, QWidget *parent = nullptr)
以父 parent 构建。带文本的 QPlainTextEdit。文本编辑将显示纯文本 text。
[虚拟 noexcept]
QPlainTextEdit::~QPlainTextEdit()
析构函数。
QString QPlainTextEdit::anchorAt(const QPoint &pos) const
返回指定位置pos的锚点引用,如果该点不存在锚点,则返回空字符串。
[槽函数]
void QPlainTextEdit::appendHtml(const QString &html)
将具有html的新的段落添加到文本编辑器的末尾。
[槽函数]
void QPlainTextEdit::appendPlainText(const QString &text)
将具有text的新段落添加到文本编辑器的末尾。
另请参阅appendHtml()。
[保护成员]
QRectF QPlainTextEdit::blockBoundingGeometry(const QTextBlock &block) const
返回在内容坐标系中的文本block的边界矩形。使用contentOffset()转换矩形以获取视口中的视觉坐标。
另请参阅firstVisibleBlock()和blockBoundingRect()。
[保护成员]
QRectF QPlainTextEdit::blockBoundingRect(const QTextBlock &block) const
返回文本block在其自身坐标系中的边界矩形。
另请参阅blockBoundingGeometry()。
[信号]
void QPlainTextEdit::blockCountChanged(int newBlockCount)
每当块的数量变化时都会发出此信号。新块的数量通过newBlockCount传入。
[虚拟保护成员]
bool QPlainTextEdit::canInsertFromMimeData(const QMimeData *source) const
如果由source指定的MIME数据对象的包含内容可以被解码并插入到文档中,则此函数返回true
。例如,当在拖动操作中鼠标进入此小部件时调用此函数,需要确定是否可以接受拖动。
bool QPlainTextEdit::canPaste() const
返回是否可以将文本从剪贴板粘贴到文本编辑器中。
[槽函数]
void QPlainTextEdit::centerCursor()
通过滚动文档来垂直居中光标。
另请参阅ensureCursorVisible()和centerOnScroll。
[覆盖虚拟保护成员]
void QPlainTextEdit::changeEvent(QEvent *e)
实现了:QFrame::changeEvent(QEvent *ev)。
[槽]
void QPlainTextEdit::clear()
删除文本编辑器中所有的文本。
注意
[保护]
QPointF QPlainTextEdit::contentOffset() const
返回内容在视口坐标中的原点。
纯文本编辑器内容的原点始终是第一个可见文本块的左上角。当文本水平滚动,或者第一个可见块部分滚动出屏幕(即可见文本不是从第一个可见块的第一行开始,或者第一个可见块是第一个块并且编辑器显示边距)时,内容偏移与 (0,0) 不同。
[重写虚保护]
void QPlainTextEdit::contextMenuEvent(QContextMenuEvent *event)
重新实现: QAbstractScrollArea::contextMenuEvent(QContextMenuEvent *e).
显示使用 createStandardContextMenu() 创建的标准上下文菜单。
如果您不希望文本编辑器具有上下文菜单,可以将其 上下文菜单策略 设置为 Qt::NoContextMenu。如果您想要自定义上下文菜单,重新实现此函数。如果您想扩展标准上下文菜单,重新实现此函数,调用 createStandardContextMenu() 并扩展返回的菜单。
事件信息通过 event 对象传递。
void MyQPlainTextEdit::contextMenuEvent(QContextMenuEvent *event) { QMenu *menu = createStandardContextMenu(); menu->addAction(tr("My Menu Item")); //... menu->exec(event->globalPos()); delete menu; }
[槽]
void QPlainTextEdit::copy()
将任何选定的文本复制到剪贴板。
另请参阅copyAvailable。
[信号]
void QPlainTextEdit::copyAvailable(bool yes)
当选定或取消选定文本编辑器中的文本时发出此信号。
当选定文本时,此信号将以 yes 设置为 true。如果没有选定任何文本或选定的文本被取消选定,则此信号将以 yes 设置为 false 发出。
如果 yes 为 true,则可以使用 copy() 将选择的项目复制到剪贴板。如果 yes 为 false,则 copy() 不会做任何事情。
另请参阅selectionChanged。
[虚拟保护]
QMimeData *QPlainTextEdit::createMimeDataFromSelection() const
此函数返回一个新的 MIME 数据对象来表示文本编辑器当前选择的内容。当需要将选择封装到新的 QMimeData 对象中时;例如,当开始拖放操作或复制数据到剪贴板时,会调用该函数。
如果你重新实现了这个函数,请注意,返回的 QMimeData 对象的所有权已传递给调用者。可以通过使用 textCursor() 函数来检索选择内容。
QMenu *QPlainTextEdit::createStandardContextMenu()
此函数创建在用户用鼠标右键单击文本编辑时显示的标准上下文菜单。它从默认的 contextMenuEvent() 处理程序中被调用。弹出的菜单所有权被转让给调用者。
我们建议使用 createStandardContextMenu(QPoint) 版本,这将启用对用户点击位置敏感的操作。
QMenu *QPlainTextEdit::createStandardContextMenu(const QPoint &position)
此函数创建在用户用鼠标右键单击文本编辑时显示的标准上下文菜单。它从默认的 contextMenuEvent() 处理程序中被调用,并接受鼠标点击在文档坐标中的 位置。这可以启用对用户点击位置敏感的操作。弹出的菜单所有权被转让给调用者。
QTextCharFormat QPlainTextEdit::currentCharFormat() const
返回在插入新文本时使用的字符格式。
另请参阅setCurrentCharFormat。
QTextCursor QPlainTextEdit::cursorForPosition(const QPoint &pos) const
返回一个位于 位置(视口坐标)的 QTextCursor。
[信号]
void QPlainTextEdit::cursorPositionChanged()
每当光标位置改变时发射此信号。
QRect QPlainTextEdit::cursorRect(const QTextCursor &cursor) const
返回包括 光标 的矩形(视口坐标)。
QRect QPlainTextEdit::cursorRect() const
返回包括文本编辑中光标的矩形(视口坐标)。
[槽]
void QPlainTextEdit::cut()
将选定的文本复制到剪切板,并从文本编辑中删除它。
如果没有选定的文本,则不会发生任何操作。
QTextDocument *QPlainTextEdit::document() const
返回指向底层文档的指针。
另请参阅setDocument。
[重载虚受保护]
void QPlainTextEdit::dragEnterEvent(QDragEnterEvent *e)
重新实现: QAbstractScrollArea::dragEnterEvent(QDragEnterEvent *event)
[覆盖虚保护]
void QPlainTextEdit::dragLeaveEvent(QDragLeaveEvent *e)
重实现: QAbstractScrollArea::dragLeaveEvent(QDragLeaveEvent *event).
[覆盖虚保护]
void QPlainTextEdit::dragMoveEvent(QDragMoveEvent *e)
重实现: QAbstractScrollArea::dragMoveEvent(QDragMoveEvent *event).
[覆盖虚保护]
void QPlainTextEdit::dropEvent(QDropEvent *e)
重实现: QAbstractScrollArea::dropEvent(QDropEvent *event).
void QPlainTextEdit::ensureCursorVisible()
通过必要时滚动文本编辑器来确保光标可见。
另请参阅 centerCursor() 和 centerOnScroll.
QList<QTextEdit::ExtraSelection> QPlainTextEdit::extraSelections() const
返回之前设置的额外选择。
另请参阅 setExtraSelections().
bool QPlainTextEdit::find(const QString &exp, QTextDocument::FindFlags options = QTextDocument::FindFlags())
使用给定的 options 通过查找字符串,exp 的下一个出现。如果找到 exp 并将光标移到匹配处,则返回 true
;否则返回 false
。
bool QPlainTextEdit::find(const QRegularExpression &exp, QTextDocument::FindFlags options = QTextDocument::FindFlags())
这是重载函数。
使用给定的 options 查找与正则表达式,exp 匹配的下一个出现。
如果找到匹配项并将光标移到匹配处,则返回 true
;否则返回 false
。
注意: 由于历史原因,exp 上设置的字母大小写敏感性选项被忽略。相反,使用 options 来确定搜索是否区分大小写。
[保护]
QTextBlock QPlainTextEdit::firstVisibleBlock() const
返回第一个可见块。
另请参阅 blockBoundingRect().
[覆盖虚保护]
void QPlainTextEdit::focusInEvent(QFocusEvent *e)
重实现: QWidget::focusInEvent(QFocusEvent *event).
[覆盖虚保护]
bool QPlainTextEdit::focusNextPrevChild(bool next)
重实现: QWidget::focusNextPrevChild(bool next).
[覆盖虚保护]
void QPlainTextEdit::focusOutEvent(QFocusEvent *e)
重实现: QWidget::focusOutEvent(QFocusEvent *event).
[保护]
QAbstractTextDocumentLayout::PaintContext QPlainTextEdit::getPaintContext() const
返回视图的绘制上下文,在重实现 paintEvent() 时很有用。
[覆盖虚保护]
void QPlainTextEdit::inputMethodEvent(QInputMethodEvent *e)
重实现: QWidget::inputMethodEvent(QInputMethodEvent *event).
[覆盖虚]
QVariant QPlainTextEdit::inputMethodQuery(Qt::InputMethodQuery property) const
重实现: QWidget::inputMethodQuery(Qt::InputMethodQuery query) const.
[虚保护]
void QPlainTextEdit::insertFromMimeData(const QMimeData *source)
此函数将指定为source的MIME数据对象的内 容插入到文本编辑器中的当前光标位置。它会在剪纸板粘贴操作结果后插入文本时、文本编辑器接受拖放操作数据时调用。
[槽函数]
void QPlainTextEdit::insertPlainText(const QString &text)
方便的槽函数,将text插入到当前光标位置。
等效于
edit->textCursor().insertText(text);
[覆盖虚保护]
void QPlainTextEdit::keyPressEvent(QKeyEvent *e)
重实现: QAbstractScrollArea::keyPressEvent(QKeyEvent *e).
[覆盖虚保护]
void QPlainTextEdit::keyReleaseEvent(QKeyEvent *e)
重实现: QWidget::keyReleaseEvent(QKeyEvent *event).
[虚]
QVariant QPlainTextEdit::loadResource(int type, const QUrl &name)
根据给定的type和name加载资源。
此函数是QTextDocument::loadResource的扩展。
另请参阅QTextDocument::loadResource.
void QPlainTextEdit::mergeCurrentCharFormat(const QTextCharFormat &modifier)
通过在编辑器的光标上调用QTextCursor::mergeCharFormat将指定于修饰符中的属性合并到当前字符格式。如果编辑器有选区,则直接将修饰符的应用属性到选区。
另请参阅QTextCursor::mergeCharFormat()。
[信号]
void QPlainTextEdit::modificationChanged(bool changed)
每当文档内容以影响修改状态的方式更改时,都会发出此信号。如果changed为true,则已修改文档;否则为false。
例如,对文档调用setModified(false)
并在其中插入文本会导致信号发出。如果您撤销该操作,使文档恢复到初始未修改状态,则信号将再次发出。
[重写虚保护]
void QPlainTextEdit::mouseDoubleClickEvent(QMouseEvent *e)
重写:QAbstractScrollArea::mouseDoubleClickEvent(QMouseEvent *e)。
[重写虚保护]
void QPlainTextEdit::mouseMoveEvent(QMouseEvent *e)
重写:QAbstractScrollArea::mouseMoveEvent(QMouseEvent *e)。
[重写虚保护]
void QPlainTextEdit::mousePressEvent(QMouseEvent *e)
重写:QAbstractScrollArea::mousePressEvent(QMouseEvent *e)。
[重写虚保护]
void QPlainTextEdit::mouseReleaseEvent(QMouseEvent *e)
重写:QAbstractScrollArea::mouseReleaseEvent(QMouseEvent *e)。
void QPlainTextEdit::moveCursor(QTextCursor::MoveOperation operation, QTextCursor::MoveMode mode = QTextCursor::MoveAnchor)
通过对给定操作进行操作来移动光标。
如果模式是QTextCursor::KeepAnchor,则光标选择移过的文本。这与用户通过按下Shift键并使用光标键移动光标所达到的效果相同。
另请参阅QTextCursor::movePosition()。
[重写虚保护]
void QPlainTextEdit::paintEvent(QPaintEvent *e)
重写:QAbstractScrollArea::paintEvent(QPaintEvent *event)。
[槽函数]
void QPlainTextEdit::paste()
将剪贴板中的文本粘贴到当前光标位置的文本编辑中。
如果剪贴板中没有文本,则不执行任何操作。
要更改此函数的行为,例如修改QPlainTextEdit能粘贴什么,以及如何粘贴,则重写虚拟函数canInsertFromMimeData()和insertFromMimeData()。
void QPlainTextEdit::print(QPagedPaintDevice *printer) const
用于将文本编辑的文档打印到指定 打印机 的便捷函数。这与直接在文档上调用打印方法等价,区别是此函数还支持 QPrinter::Selection 作为打印范围。
另请参阅QTextDocument::print()。
[槽函数]
void QPlainTextEdit::redo()
重做上一个操作。
如果没有操作可以重做,即没有可撤销/重做的历史记录中的步骤,则不会发生任何事情。
另请参阅undo()。
[信号]
void QPlainTextEdit::redoAvailable(bool available)
每当重做操作可用(available 为 true)或不可用(available 为 false)时,都会发射此信号。
[重写虚拟受保护]
void QPlainTextEdit::resizeEvent(QResizeEvent *e)
重实现: QAbstractScrollArea::resizeEvent(QResizeEvent *event)
[重写虚拟受保护]
void QPlainTextEdit::scrollContentsBy(int dx, int dy)
重实现: QAbstractScrollArea::scrollContentsBy(int dx, int dy)
[槽函数]
void QPlainTextEdit::selectAll()
选择所有文本。
另请参阅copy(),cut() 和 textCursor()。
[信号]
void QPlainTextEdit::selectionChanged()
每当选择发生变化时,都会发射此信号。
另请参阅copyAvailable。
void QPlainTextEdit::setCurrentCharFormat(const QTextCharFormat &format)
通过在编辑器的光标上调用 QTextCursor::setCharFormat(),设置用于插入新文本的字符格式为 format。如果编辑器有选择,则字符格式直接应用于选择。
另请参阅currentCharFormat()。
void QPlainTextEdit::setDocument(QTextDocument *document)
使 document 成为文本编辑器的新文档。
提供文档的父 QObject 仍然是对象的所有者。如果当前文档是文本编辑器的子项,则将其删除。
文档必须具有继承自 QPlainTextDocumentLayout 的文档布局(见 QTextDocument::setDocumentLayout)。
另请参阅document。
void QPlainTextEdit::setExtraSelections(const QList<QTextEdit::ExtraSelection> &selections)
此功能允许用指定的颜色暂时标记文档中某些区域,颜色以 选择 指定。例如,在编程编辑器中,可以用给定的背景颜色标记整行文本,以指示断点的存在。
另请参阅 QTextEdit::ExtraSelection 和 extraSelections。
[slot]
void QPlainTextEdit::setPlainText(const QString &text)
将文本编辑器的文本更改为指定的 text 字符串。任何先前的文本都将被移除。
text 被解释为纯文本。
注意
注意: 这是属性 plainText 的设置器函数。
另请参阅 toPlainText。
void QPlainTextEdit::setTextCursor(const QTextCursor &cursor)
设置可见的 cursor。
另请参阅 textCursor。
[override virtual protected]
void QPlainTextEdit::showEvent(QShowEvent *)
重新实现了:QWidget::showEvent(QShowEvent *event)。
[signal]
void QPlainTextEdit::textChanged()
每当文档内容发生变化时,都会发出此信号;例如,在插入或删除文本或应用格式化时。
注意: 这是属性 plainText 的通知信号。
QTextCursor QPlainTextEdit::textCursor() const
返回一个表示当前可见光标的 QTextCursor 复制品。请注意,对返回的光标所做的更改不会影响 QPlainTextEdit 的光标;使用 setTextCursor() 来更新可见光标。
另请参阅 setTextCursor。
QString QPlainTextEdit::toPlainText() const
以纯文本形式返回文本编辑器的文本。
注意: 这是属性 plainText 的获取器函数。
另请参阅 QPlainTextEdit::setPlainText。
[slot]
void QPlainTextEdit::undo()
撤销上一个操作。
如果没有可撤销的操作,即没有可撤销的操作步骤,则不执行任何操作。
另请参阅 redo。
[signal]
void QPlainTextEdit::undoAvailable(bool available)
每当可撤销操作变为可用时(available 为真)或不可用(available 为假)时,都会发出此信号。
[signal]
void QPlainTextEdit::updateRequest(const QRect &rect, int dy)
当文本文档需要更新指定的 rect 时,此信号被触发。如果文字被滚动,rect 将覆盖整个视口区域。如果文字垂直滚动,dy 将携带视口滚动的像素数量。
此信号的目的在于支持在纯文本编辑子类中嵌入额外的控件,例如显示行号、断点或其他额外信息。
[覆盖虚保护]
void QPlainTextEdit::wheelEvent(QWheelEvent *e)
重新实现:QAbstractScrollArea::wheelEvent(QWheelEvent *e).
[槽函数]
void QPlainTextEdit::zoomIn(int range = 1)
通过将基本字体大小增加 range 点来放大文本,并重新计算所有字体大小为新大小。这不会改变任何图像的大小。
另请参阅 zoomOut。
[槽函数]
void QPlainTextEdit::zoomOut(int range = 1)
通过将基本字体大小减少 range 点来缩小文本,并重新计算所有字体大小为新大小。这不会改变任何图像的大小。
另请参阅 zoomIn。
© 2024 Qt公司。此处包含的文档贡献归其各自所有者所有。此处提供的文档根据_free_软件基金会发布的_GNU自由文档许可协议版本1.3_许可。Qt及其相关标志是芬兰以及/或其他国家的The Qt公司商标。所有其他商标都是其各自所有者的财产。