QTextEdit 类提供用于编辑和显示纯文本的富文本两者的 Widget。 更多...
头: | #include <QTextEdit> |
CMake: |
find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
qmake: | QT += widgets |
继承: | QAbstractScrollArea |
继承者: | QTextBrowser |
struct | ExtraSelection |
flags | AutoFormatting |
enum | AutoFormattingFlag { AutoNone, AutoBulletList, AutoAll } |
enum | LineWrapMode { NoWrap, WidgetWidth, FixedPixelWidth, FixedColumnWidth } |
|
|
QTextEdit (QWidget * parent = nullptr) | |
QTextEdit (const QString & text , QWidget * parent = nullptr) | |
virtual | ~QTextEdit () |
bool | acceptRichText () const |
Qt::Alignment | alignment () const |
QString | anchorAt (const QPoint & pos ) const |
QTextEdit::AutoFormatting | autoFormatting () const |
bool | canPaste () const |
QMenu * | createStandardContextMenu () |
QMenu * | createStandardContextMenu (const QPoint & position ) |
QTextCharFormat | currentCharFormat () const |
QFont | currentFont () const |
QTextCursor | cursorForPosition (const QPoint & pos ) const |
QRect | cursorRect (const QTextCursor & cursor ) const |
QRect | cursorRect () const |
int | cursorWidth () const |
QTextDocument * | document () const |
QString | documentTitle () const |
void | ensureCursorVisible () |
QList<QTextEdit::ExtraSelection> | extraSelections () const |
bool | find (const QString & exp , QTextDocument::FindFlags options = QTextDocument::FindFlags()) |
bool | find (const QRegularExpression & 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 |
QTextEdit::LineWrapMode | lineWrapMode () const |
virtual QVariant | loadResource (int type , const QUrl & name ) |
void | mergeCurrentCharFormat (const QTextCharFormat & modifier ) |
void | moveCursor (QTextCursor::MoveOperation operation , QTextCursor::MoveMode mode = QTextCursor::MoveAnchor) |
bool | overwriteMode () const |
QString | placeholderText () const |
void | print (QPagedPaintDevice * printer ) const |
void | setAcceptRichText (bool accept ) |
void | setAutoFormatting (QTextEdit::AutoFormatting features ) |
void | setCurrentCharFormat (const QTextCharFormat & format ) |
void | setCursorWidth (int width ) |
void | setDocument (QTextDocument * document ) |
void | setDocumentTitle (const QString & title ) |
void | setExtraSelections (const QList<QTextEdit::ExtraSelection> & selections ) |
void | setLineWrapColumnOrWidth (int w ) |
void | setLineWrapMode (QTextEdit::LineWrapMode mode ) |
void | setOverwriteMode (bool overwrite ) |
void | setPlaceholderText (const QString & placeholderText ) |
void | setReadOnly (bool ro ) |
void | setTabChangesFocus (bool b ) |
void | setTabStopDistance (qreal distance ) |
void | setTextCursor (const QTextCursor & cursor ) |
void | setTextInteractionFlags (Qt::TextInteractionFlags flags ) |
void | setUndoRedoEnabled (bool enable ) |
void | setWordWrapMode (QTextOption::WrapMode policy ) |
bool | tabChangesFocus () const |
qreal | tabStopDistance () const |
QColor | textBackgroundColor () const |
QColor | textColor () const |
QTextCursor | textCursor () const |
Qt::TextInteractionFlags | textInteractionFlags () const |
QString | toHtml () const |
QString | toMarkdown (QTextDocument::MarkdownFeatures features = QTextDocument::MarkdownDialectGitHub) const |
QString | toPlainText () const |
QTextOption::WrapMode | wordWrapMode () const |
virtual QVariant | inputMethodQuery (Qt::InputMethodQuery property ) const override |
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 | setMarkdown (const QString & markdown ) |
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 ) override |
virtual void | contextMenuEvent (QContextMenuEvent * event ) override |
virtual void | dragEnterEvent (QDragEnterEvent * e ) override |
virtual void | dragLeaveEvent (QDragLeaveEvent * e ) override |
virtual void | dragMoveEvent (QDragMoveEvent * e ) override |
virtual void | dropEvent (QDropEvent * e ) override |
virtual void | focusInEvent (QFocusEvent * e ) override |
virtual bool | focusNextPrevChild (bool next ) override |
virtual void | focusOutEvent (QFocusEvent * e ) override |
virtual void | inputMethodEvent (QInputMethodEvent * e ) override |
virtual void | keyPressEvent (QKeyEvent * e ) override |
virtual void | keyReleaseEvent (QKeyEvent * e ) override |
virtual void | mouseDoubleClickEvent (QMouseEvent * e ) override |
virtual void | mouseMoveEvent (QMouseEvent * e ) override |
virtual void | mousePressEvent (QMouseEvent * e ) override |
virtual void | mouseReleaseEvent (QMouseEvent * e ) override |
virtual void | paintEvent (QPaintEvent * event ) override |
virtual void | resizeEvent (QResizeEvent * e ) override |
virtual void | scrollContentsBy (int dx , int dy ) override |
virtual void | showEvent (QShowEvent *) override |
virtual void | wheelEvent (QWheelEvent * e ) override |
QTextEdit 是支持使用 HTML 样式标签格式 (或 Markdown 格式) 富文本的高级 WYSIWYG (所见即所得) 查看器/编辑器。经优化,能处理大文档和快速响应用户输入。
QTextEdit 工作于段落和字符。段落是自动换行以拟合 Widget 宽度的格式化字符串。默认情况下,当读取纯文本时,一个换行符表示一个段落。文档由零个或多个段落组成。根据段落对齐方式对齐段落单词。段落由硬换行符分隔。段落中的每个字符有其自己的属性 (例如:字体和颜色)。
QTextEdit 可以显示图像、列表和表格。若要在文本编辑视口中查看的文本太大,会出现滚动条。文本编辑可以加载纯文本文件和富文本文件两者。富文本的描述可以使用 HTML 4 标记子集;参考 支持的 HTML 子集 页面,了解更多信息。
若仅仅需要显示小段富文本使用 QLabel .
Qt 中的富文本支持旨在为向应用程序添加合理在线帮助设施提供快速、可移植、有效手段,并为富文本编辑器提供基础。若发现 HTML 支持不足以满足需求,可以考虑使用 Qt WebKit,它提供了功能齐全的 Web 浏览器 Widget。
鼠标光标的形状在 QTextEdit 为 Qt::IBeamCursor 默认情况下。可以改变透过 viewport () 的光标特性。
QTextEdit 可以显示大 HTML 子集,包括表格和图像。
可以设置或替换文本使用 setHtml () 删除并替换任何现有文本,采用将文本传入 setHtml () 调用。若调用 setHtml () 采用传统 HTML,然后调用 toHtml (),返回文本可能有不同标记,但渲染是相同的。可以删除整个文本采用 clear ().
还可以设置或替换文本使用 setMarkdown (),并应用相同告诫:然后调用 toMarkdown (),返回的文本可能有所不同,但尽可能保留含义。可以剖析带有某些嵌入式 HTML 的 Markdown,具有的局限性如同 setHtml () 拥有的;但 toMarkdown () 只写纯 Markdown,没有任何嵌入式 HTML。
可以插入文字本身使用 QTextCursor 类或使用方便函数 insertHtml (), insertPlainText (), append () 或 paste (). QTextCursor 还能够把复杂对象 (像:表格或列表) 插入文档,且它能够处理创建选择并将改变应用到选中文本。
默认情况下,文本编辑在空白处自动换行以拟合在文本编辑 Widget 中。 setLineWrapMode () 函数用于指定想要的换行种类,或 NoWrap 若不想要任何换行。调用 setLineWrapMode () 去设置固定像素宽度 FixedPixelWidth ,或字符列 (如:80 列) FixedColumnWidth 按指定像素或列数采用 setLineWrapColumnOrWidth ()。若使用自动换行到 Widget 的宽度 WidgetWidth ,可以指定是在空白处断开还是在任何地方断开采用 setWordWrapMode ().
The find () 函数可以用于在文本中查找和选择给定字符串。
若想要限制段落总数在 QTextEdit (例如:在日志查看器中经常很有用),可以使用 QTextDocument 的 maximumBlockCount 特性为此。
当 QTextEdit 被只读使用时,键绑定仅限于导航,且只可以采用鼠标选择文本:
按键 | 动作 |
---|---|
Up | 向上移动一行。 |
Down | 向下移动一行。 |
Left | 向左移动一字符。 |
Right | 向右移动一字符。 |
PageUp | 向上移动一 (视口) 页。 |
PageDown | 向下移动一 (视口) 页。 |
Home | 移至文本起始。 |
End | 移至文本末尾。 |
Alt+Wheel | 水平卷动页面 (Wheel 是鼠标滚轮)。 |
Ctrl+Wheel | 缩放文本。 |
Ctrl+A | 选择所有文本。 |
文本编辑可能能够提供一些元信息。例如,
documentTitle
() 函数将返回文本从 HTML
<title>
标签。
注意: 缩放 HTML 文档才工作,若字体大小未被设为固定尺寸。
所有信息有关使用 QTextEdit 作为显示 Widget 在此也适用。
设置当前字符格式的属性采用 setFontItalic (), setFontWeight (), setFontUnderline (), setFontFamily (), setFontPointSize (), setTextColor () 和 setCurrentFont ()。设置当前段落的对齐方式采用 setAlignment ().
文本选择的处理通过 QTextCursor 类,提供创建选择、检索文本内容或删除选定的功能。可以检索对应用户可见光标的对象使用 textCursor () 方法。若想要设置 QTextEdit 选定,仅仅创建一个在 QTextCursor 对象然后使该光标成为可见光标使用 setTextCursor ()。选定可以被拷贝到剪贴板采用 copy (),或剪切到剪贴板采用 cut ()。可以选择整个文本使用 selectAll ().
当光标被移动且底层格式化属性改变时, currentCharFormatChanged () 信号被发射以在新光标位置反映新属性。
The textChanged () 信号被发射每当文本改变时 (作为结果源于 setText () 或透过编辑器本身)。
QTextEdit 保持 QTextDocument 对象,可以被检索使用 document () 方法。还可以设置自己的文档对象使用 setDocument ().
QTextDocument 提供 isModified () 函数,返回 true 若文本在加载或采用 false 作为自变量最后调用 setModified 后被修改。此外,它提供撤消和重做方法。
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); }
通过返回 true 添加对图像 MIME 类型的支持。对于所有其它 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 | 删除光标左侧字符。 |
删除 | 删除光标右侧字符。 |
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 , Qt Widgets - 应用程序范例 , 句法高亮范例 ,和 富文本处理 .
常量 | 值 | 描述 |
---|---|---|
QTextEdit::AutoNone
|
0
|
不做任何自动格式化。 |
QTextEdit::AutoBulletList
|
0x00000001
|
自动创建项目符号列表 (如:当用户在最左列键入 * 星号,或在现有列表项中按 Enter 键)。 |
QTextEdit::AutoAll
|
0xffffffff
|
应用所有自动格式。目前仅支持自动项目符号列表。 |
AutoFormatting 类型是 typedef 对于 QFlags <AutoFormattingFlag>。它存储 AutoFormattingFlag 值的 OR 组合。
常量 | 值 |
---|---|
QTextEdit::NoWrap
|
0
|
QTextEdit::WidgetWidth
|
1
|
QTextEdit::FixedPixelWidth
|
2
|
QTextEdit::FixedColumnWidth
|
3
|
此特性保持文本编辑是否接受由用户插入的富文本
当此特性被设为 false 时,文本编辑将只接受来自用户的纯文本输入。例如,透过剪贴板 (或拖放)。
此特性默认为 true。
访问函数:
bool | acceptRichText () const |
void | setAcceptRichText (bool accept ) |
此特性保持自动格式化特征的启用设置
值可以是值的任何组合在 AutoFormattingFlag 枚举。默认为 AutoNone 。选取 AutoAll 以启用所有自动格式化。
目前,唯一提供的自动格式化特征是 AutoBulletList ;未来版本的 Qt 可能提供更多。
访问函数:
QTextEdit::AutoFormatting | autoFormatting () const |
void | setAutoFormatting (QTextEdit::AutoFormatting features ) |
此特性指定光标的宽度 (以像素为单位)。默认值为 1。
访问函数:
int | cursorWidth () const |
void | setCursorWidth (int width ) |
此特性保持文本编辑器的底层文档。
注意: 编辑器 不拥有文档的所有权 除非它是文档的父级对象。提供文档的父级对象仍是对象的所有者。若先前赋值的文档是编辑器的子级,就将它删除。
访问函数:
QTextDocument * | document () const |
void | setDocument (QTextDocument * document ) |
此特性保持剖析自文本的文档标题。
默认情况下,对于新近创建的空文档,此特性包含空字符串。
访问函数:
QString | documentTitle () const |
void | setDocumentTitle (const QString & title ) |
此特性为文本编辑的文本提供到 HTML 的接口。
toHtml() 以 HTML 形式返回文本编辑的文本。
setHtml() 更改文本编辑文本。移除任何先前文本和清零撤消/重做历史。输入文本被解释为 html 格式富文本。 currentCharFormat () 也被重置,除非 textCursor () 已在文档开头。
注意: 调用者有责任确保正确解码文本当 QString 包含的 HTML 被创建并传递给 setHtml() 时。
默认情况下,对于新近创建的空文档,此特性包含用于描述没有本体文本的 HTML 4.0 文档文本。
访问函数:
QString | toHtml () const |
void | setHtml (const QString & text ) |
通知程序信号:
void | textChanged () |
另请参阅 支持的 HTML 子集 and plainText .
此特性保持文本换行位置 (以像素或列为单位,从属换行模式)
若换行模式为 FixedPixelWidth ,值是从文本编辑左边缘开始 (文本应在哪里换行) 的像素数。若换行模式为 FixedColumnWidth ,值是从文本编辑左边缘开始 (文本应在哪里换行) 的列号 (以字符列为单位)。
默认情况下,此特性包含 0 值。
访问函数:
int | lineWrapColumnOrWidth () const |
void | setLineWrapColumnOrWidth (int w ) |
另请参阅 lineWrapMode .
此特性保持换行模式
默认模式为 WidgetWidth 导致单词在文本编辑右边缘换行。换行出现在空白处,保持整个单词完整。若想要换行发生在单词内,使用 setWordWrapMode ()。若将换行模式设为 FixedPixelWidth or FixedColumnWidth 还应调用 setLineWrapColumnOrWidth () 采用想要的宽度。
访问函数:
QTextEdit::LineWrapMode | lineWrapMode () const |
void | setLineWrapMode (QTextEdit::LineWrapMode mode ) |
另请参阅 lineWrapColumnOrWidth .
此特性为文本编辑文本提供 Markdown 接口。
toMarkdown()
returns the text of the text edit as "pure" Markdown, without any embedded HTML formatting. Some features that
QTextDocument
supports (such as the use of specific colors and named fonts) cannot be expressed in "pure" Markdown, and they will be omitted.
setMarkdown()
changes the text of the text edit. Any previous text is removed and the undo/redo history is cleared. The input text is interpreted as rich text in Markdown format.
Parsing of HTML included in the markdown string is handled in the same way as in setHtml ;不管怎样,不支持 HTML 块内的 Markdown 格式。
可以启用 (或禁用) 剖析器的某些特征凭借 features 自变量:
常量 | 描述 |
---|---|
MarkdownNoHTML
|
将丢弃 Markdown 文本中的任何 HTML 标签 |
MarkdownDialectCommonMark
|
剖析器仅支持由 CommonMark 标准化的特征 |
MarkdownDialectGitHub
|
剖析器支持 GitHub 方言 |
默认为
MarkdownDialectGitHub
.
访问函数:
QString | toMarkdown (QTextDocument::MarkdownFeatures features = QTextDocument::MarkdownDialectGitHub) const |
void | setMarkdown (const QString & markdown ) |
通知程序信号:
void | textChanged () |
另请参阅 plainText , html , QTextDocument::toMarkdown (),和 QTextDocument::setMarkdown ().
此特性保持由用户键入的文本是否覆盖现有文本
As with many text editors, the text editor widget can be configured to insert or overwrite existing text with new text entered by the user.
若此特性为
true
, existing text is overwritten, character-for-character by new text; otherwise, text is inserted at the cursor position, displacing existing text.
默认情况下,此特性为
false
(新文本不覆写现有文本)。
访问函数:
bool | overwriteMode () const |
void | setOverwriteMode (bool overwrite ) |
此特性保持编辑器占位符文本
设置此特性将使编辑器显示变灰占位符文本只要 document () 为空。
默认情况下,此特性包含空字符串。
访问函数:
QString | placeholderText () const |
void | setPlaceholderText (const QString & placeholderText ) |
另请参阅 document ().
此特性以纯文本方式,保持文本编辑器的内容。
Previous contents are removed and undo/redo history is reset when the property is set. currentCharFormat () 也被重置,除非 textCursor () 已在文档开头。
若文本编辑拥有另一内容类型,就不会将它替换为纯文本若调用 toPlainText ()。这的唯一例外是非间断空格 nbsp; ,会被转换成标准空格。
默认情况下,对于没有内容的编辑器,此特性包含空字符串。
访问函数:
QString | toPlainText () const |
void | setPlainText (const QString & text ) |
另请参阅 html .
此特性保持文本编辑是否为只读
在只读文本编辑中,用户只能导航文本和选择文本;修改文本是不可能的。
此特性默认为 false。
访问函数:
bool | isReadOnly () const |
void | setReadOnly (bool ro ) |
此特性保持是否 Tab 改变聚焦或接受作为输入
In some occasions text edits should not allow the user to input tabulators or change indentation using the Tab key, as this breaks the focus chain. The default is false.
访问函数:
bool | tabChangesFocus () const |
void | setTabChangesFocus (bool b ) |
此特性保持 Tab (制表符) 停止距离 (以像素为单位)
默认情况下,此特性包含 80 像素的值。
不要将值设为小于 horizontalAdvance () 对于 QChar::VisualTabCharacter character, otherwise the tab-character will be drawn incompletely.
访问函数:
qreal | tabStopDistance () const |
void | setTabStopDistance (qreal distance ) |
另请参阅 QTextOption::ShowTabsAndSpaces and QTextDocument::defaultTextOption .
指定 Widget 应如何与用户输入交互。
默认值取决于 QTextEdit 是只读或可编辑,且它是否为 QTextBrowser or not.
访问函数:
Qt::TextInteractionFlags | textInteractionFlags () const |
void | setTextInteractionFlags (Qt::TextInteractionFlags flags ) |
This property holds whether undo and redo are enabled.
用户才能撤消 (或重做) 动作,若此属性为 true,且存在可以撤消 (或重做) 的动作。
访问函数:
bool | isUndoRedoEnabled () const |
void | setUndoRedoEnabled (bool enable ) |
此特性保持模式 QTextEdit 会使用,当按单词换行文本时
默认情况下,此特性被设为 QTextOption::WrapAtWordBoundaryOrAnywhere .
访问函数:
QTextOption::WrapMode | wordWrapMode () const |
void | setWordWrapMode (QTextOption::WrapMode policy ) |
另请参阅 QTextOption::WrapMode .
[explicit]
QTextEdit::
QTextEdit
(
QWidget
*
parent
= nullptr)
构造空的 QTextEdit 采用父级 parent .
[explicit]
QTextEdit::
QTextEdit
(const
QString
&
text
,
QWidget
*
parent
= nullptr)
构造 QTextEdit 采用父级 parent 。文本编辑将显示文本 text 。文本被解释成 HTML。
[虚拟]
QTextEdit::
~QTextEdit
()
析构函数。
返回当前段落的对齐方式。
另请参阅 setAlignment ().
返回锚点引用在位置 pos ,或空字符串若该点不存在锚点。
[slot]
void
QTextEdit::
append
(const
QString
&
text
)
追加新段落采用 text 到文本编辑末尾。
注意: 新追加段落将拥有如当前段落的相同字符格式和块格式,通过光标位置确定。
另请参阅 currentCharFormat () 和 QTextCursor::blockFormat ().
[virtual protected]
bool
QTextEdit::
canInsertFromMimeData
(const
QMimeData
*
source
) const
此函数返回
true
若 MIME (多用途 Internet 邮件扩展) 数据对象内容的指定是通过
source
, can be decoded and inserted into the document. It is called for example when during a drag operation the mouse enters this widget and it is necessary to determine whether it is possible to accept the drag and drop operation.
重实现此函数以启用对额外 MIME 类型的拖放支持。
返回是否可以把文本从剪贴板粘贴到 textedit。
[override virtual protected]
void
QTextEdit::
changeEvent
(
QEvent
*
e
)
重实现: QFrame::changeEvent (QEvent *ev).
[slot]
void
QTextEdit::
clear
()
删除文本编辑中的所有文本。
注意事项:
另请参阅 cut (), setPlainText (),和 setHtml ().
[override virtual protected]
void
QTextEdit::
contextMenuEvent
(
QContextMenuEvent
*
event
)
重实现: QAbstractScrollArea::contextMenuEvent (QContextMenuEvent *e).
展示标准上下文菜单,创建采用 createStandardContextMenu ().
若不想要文本编辑拥有上下文菜单,可以设置其 contextMenuPolicy to 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 () 函数。
此函数创建要展示的标准上下文菜单,当用户采用鼠标右键点击文本编辑时。它被调用从默认 contextMenuEvent () 处理程序。将弹出菜单的所有权转移给调用者。
推荐使用 createStandardContextMenu( QPoint ) 版本,启用用户点击位置敏感动作。
此函数创建要展示的标准上下文菜单,当用户采用鼠标右键点击文本编辑时。它被调用从默认 contextMenuEvent () 处理程序,且它获取 position 在文档坐标中 (当鼠标点击时)。这可以启用用户点击位置敏感动作。将弹出菜单的所有权转移给调用者。
返回插入新文本时使用的字符格式。
另请参阅 setCurrentCharFormat ().
[signal]
void
QTextEdit::
currentCharFormatChanged
(const
QTextCharFormat
&
f
)
此信号被发射,若当前字符格式已改变 (例如:通过光标位置的变化导致)。
新的格式为 f .
另请参阅 setCurrentCharFormat ().
返回当前格式的字体。
另请参阅 setCurrentFont (), setFontFamily (),和 setFontPointSize ().
返回 QTextCursor 在位置 pos (在视口坐标中)。
[signal]
void
QTextEdit::
cursorPositionChanged
()
此信号被发射每当光标位置改变时。
返回矩形 (在视口坐标中) 包括 cursor .
返回包括文本编辑光标的矩形 (在视口坐标中)。
[slot]
void
QTextEdit::
cut
()
把选中文本拷贝到剪贴板,并将其从文本编辑中删除。
若没有选中文本,什么都不发生。
[override virtual protected]
void
QTextEdit::
dragEnterEvent
(
QDragEnterEvent
*
e
)
重实现: QAbstractScrollArea::dragEnterEvent (QDragEnterEvent *event).
[override virtual protected]
void
QTextEdit::
dragLeaveEvent
(
QDragLeaveEvent
*
e
)
重实现: QAbstractScrollArea::dragLeaveEvent (QDragLeaveEvent *event).
[override virtual protected]
void
QTextEdit::
dragMoveEvent
(
QDragMoveEvent
*
e
)
重实现: QAbstractScrollArea::dragMoveEvent (QDragMoveEvent *event).
[override virtual protected]
void
QTextEdit::
dropEvent
(
QDropEvent
*
e
)
重实现: QAbstractScrollArea::dropEvent (QDropEvent *event).
通过卷动文本编辑确保光标是可见的,若有必要。
返回先前设置的额外选定。
另请参阅 setExtraSelections ().
查找下一出现为字符串
exp
,使用给定
options
。返回
true
if
exp
被发现且更改光标到选择匹配;否则返回
false
.
这是重载函数。
查找匹配正则表达式的下一出现 exp ,使用给定 options 。 QTextDocument::FindCaseSensitively 选项被忽略对于此重载,使用 QRegularExpression::CaseInsensitiveOption 代替。
返回
true
若找到匹配并把光标更改为选择匹配;否则返回
false
.
[override virtual protected]
void
QTextEdit::
focusInEvent
(
QFocusEvent
*
e
)
重实现: QWidget::focusInEvent (QFocusEvent *event).
[override virtual protected]
bool
QTextEdit::
focusNextPrevChild
(
bool
next
)
重实现: QWidget::focusNextPrevChild (bool next).
[override virtual protected]
void
QTextEdit::
focusOutEvent
(
QFocusEvent
*
e
)
重实现: QWidget::focusOutEvent (QFocusEvent *event).
返回当前格式的字体系列。
另请参阅 setFontFamily (), setCurrentFont (),和 setFontPointSize ().
返回
true
若当前格式的字体是斜体;否则返回 false。
另请参阅 setFontItalic ().
返回当前格式的字体点大小。
另请参阅 setFontFamily (), setCurrentFont (),和 setFontPointSize ().
返回
true
若当前格式字体带下划线;否则返回 false。
另请参阅 setFontUnderline ().
返回当前格式的字体粗细。
另请参阅 setFontWeight (), setCurrentFont (), setFontPointSize (),和 QFont::Weight .
[override virtual protected]
void
QTextEdit::
inputMethodEvent
(
QInputMethodEvent
*
e
)
重实现: QWidget::inputMethodEvent (QInputMethodEvent *event).
[override virtual]
QVariant
QTextEdit::
inputMethodQuery
(
Qt::InputMethodQuery
property
) const
重实现: QWidget::inputMethodQuery(Qt::InputMethodQuery query) const .
[virtual protected]
void
QTextEdit::
insertFromMimeData
(const
QMimeData
*
source
)
This function inserts the contents of the MIME data object, specified by source , into the text edit at the current cursor position. It is called whenever text is inserted as the result of a clipboard paste operation, or when the text edit accepts data from a drag and drop operation.
重实现此函数以启用对额外 MIME 类型的拖放支持。
[slot]
void
QTextEdit::
insertHtml
(const
QString
&
text
)
方便槽插入 text 假定当前光标位置是 HTML 格式。
相当于:
edit->textCursor().insertHtml(fragment);
注意: When using this function with a style sheet, the style sheet will only apply to the current block in the document. In order to apply a style sheet throughout a document, use QTextDocument::setDefaultStyleSheet () 代替。
[slot]
void
QTextEdit::
insertPlainText
(const
QString
&
text
)
方便槽插入 text 在当前光标位置。
它相当于
edit->textCursor().insertText(text);
[override virtual protected]
void
QTextEdit::
keyPressEvent
(
QKeyEvent
*
e
)
重实现: QAbstractScrollArea::keyPressEvent (QKeyEvent *e).
[override virtual protected]
void
QTextEdit::
keyReleaseEvent
(
QKeyEvent
*
e
)
重实现: QWidget::keyReleaseEvent (QKeyEvent *event).
[virtual invokable]
QVariant
QTextEdit::
loadResource
(
int
type
, const
QUrl
&
name
)
加载指定资源通过给定 type and name .
此函数是扩展对于 QTextDocument::loadResource ().
注意: 此函数可以被援引,通过元对象系统和从 QML。见 Q_INVOKABLE .
另请参阅 QTextDocument::loadResource ().
Merges the properties specified in modifier into the current character format by calling QTextCursor::mergeCharFormat on the editor's cursor. If the editor has a selection then the properties of modifier are directly applied to the selection.
另请参阅 QTextCursor::mergeCharFormat ().
[override virtual protected]
void
QTextEdit::
mouseDoubleClickEvent
(
QMouseEvent
*
e
)
重实现: QAbstractScrollArea::mouseDoubleClickEvent (QMouseEvent *e).
[override virtual protected]
void
QTextEdit::
mouseMoveEvent
(
QMouseEvent
*
e
)
重实现: QAbstractScrollArea::mouseMoveEvent (QMouseEvent *e).
[override virtual protected]
void
QTextEdit::
mousePressEvent
(
QMouseEvent
*
e
)
重实现: QAbstractScrollArea::mousePressEvent (QMouseEvent *e).
[override virtual protected]
void
QTextEdit::
mouseReleaseEvent
(
QMouseEvent
*
e
)
重实现: QAbstractScrollArea::mouseReleaseEvent (QMouseEvent *e).
移动光标通过履行给定 operation .
若 mode is QTextCursor::KeepAnchor ,光标选择由它移动覆盖的文本。这与用户达成的效果相同,当按下 Shift 键和采用光标键移动光标时。
另请参阅 QTextCursor::movePosition ().
[override virtual protected]
void
QTextEdit::
paintEvent
(
QPaintEvent
*
event
)
重实现: QAbstractScrollArea::paintEvent (QPaintEvent *event).
可以在子类中重实现此事件处理程序以接收传入的描绘事件 event 。通常不必重实现此函数在子类 QTextEdit .
警告: 底层文本文档必须不被修改从此函数的重实现中。
[slot]
void
QTextEdit::
paste
()
把剪贴板文本粘贴到文本编辑当前光标位置处。
若剪贴板中没有文本,什么都不发生。
要改变此函数的行为,即,要修改什么 QTextEdit 可以粘贴及如何粘贴,重实现虚拟 canInsertFromMimeData () 和 insertFromMimeData () 函数。
方便函数以将文本编辑文档打印到给定 printer 。这相当于在文档上直接调用 print 方法,除此函数还支持 QPrinter::Selection 作为打印范围外。
另请参阅 QTextDocument::print ().
[slot]
void
QTextEdit::
redo
()
重做上一操作。
若没有要重做的操 (即:在撤消/重做历史中没有重做步骤),则什么都不发生。
另请参阅 undo ().
[signal]
void
QTextEdit::
redoAvailable
(
bool
available
)
此信号被发射,每当重做操作变为可用时 ( available 为 True) 或不可用 ( available 为 false)。
[override virtual protected]
void
QTextEdit::
resizeEvent
(
QResizeEvent
*
e
)
重实现: QAbstractScrollArea::resizeEvent (QResizeEvent *event).
[override virtual protected]
void
QTextEdit::
scrollContentsBy
(
int
dx
,
int
dy
)
重实现: QAbstractScrollArea::scrollContentsBy (int dx, int dy).
[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 and Qt::AlignCenter (水平居中)。
另请参阅 alignment ().
把新文本插入时使用的字符格式设为 format 通过调用 QTextCursor::setCharFormat () 在编辑器光标。若编辑器拥有选定,把字符格式直接应用到选定。
另请参阅 currentCharFormat ().
[slot]
void
QTextEdit::
setCurrentFont
(const
QFont
&
f
)
把当前格式的字体设为 f .
另请参阅 currentFont (), setFontPointSize (),和 setFontFamily ().
此函数允许采用给定颜色临时标记某些文档区域,指定通过 selections 。例如:这在编程编辑器中可以是有用的,采用给定背景颜色标记整行文本以指示断点的存在。
另请参阅 QTextEdit::ExtraSelection and extraSelections ().
[slot]
void
QTextEdit::
setFontFamily
(const
QString
&
fontFamily
)
把当前格式的字体系列设为 fontFamily .
另请参阅 fontFamily () 和 setCurrentFont ().
[slot]
void
QTextEdit::
setFontItalic
(
bool
italic
)
若 italic 为 true,把当前格式设为斜体;否则,把当前格式设为非斜体。
另请参阅 fontItalic ().
[slot]
void
QTextEdit::
setFontPointSize
(
qreal
s
)
将当前格式的点大小设为 s .
注意,若 s 为 0 (或负值),此函数的行为未定义。
另请参阅 fontPointSize (), setCurrentFont (),和 setFontFamily ().
[slot]
void
QTextEdit::
setFontUnderline
(
bool
underline
)
若 underline 为 True,将当前格式设为下划线;否则,将当前格式设为非下划线。
另请参阅 fontUnderline ().
[slot]
void
QTextEdit::
setFontWeight
(
int
weight
)
Sets the font weight of the current format to the given weight , where the value used is in the range defined by the QFont::Weight 枚举。
另请参阅 fontWeight (), setCurrentFont (),和 setFontFamily ().
[slot]
void
QTextEdit::
setPlainText
(const
QString
&
text
)
把文本编辑的文本更改为字符串 text 。移除任何以前文本。
注意事项:
注意: setter 函数对于特性 plainText .
另请参阅 toPlainText ().
[slot]
void
QTextEdit::
setText
(const
QString
&
text
)
设置文本编辑的 text 。文本可以是纯文本 (或 HTML),且文本编辑器将试着猜测正确格式。
使用 setHtml () 或 setPlainText () 直接避免文本编辑的猜测。
另请参阅 toPlainText () 和 toHtml ().
[slot]
void
QTextEdit::
setTextBackgroundColor
(const
QColor
&
c
)
把当前格式的文本背景颜色设为 c .
另请参阅 textBackgroundColor ().
[slot]
void
QTextEdit::
setTextColor
(const
QColor
&
c
)
把当前格式的文本颜色设为 c .
另请参阅 textColor ().
设置可见 cursor .
另请参阅 textCursor ().
[override virtual protected]
void
QTextEdit::
showEvent
(
QShowEvent
*)
重实现: QWidget::showEvent (QShowEvent *event).
返回当前格式的文本背景颜色。
另请参阅 setTextBackgroundColor ().
[signal]
void
QTextEdit::
textChanged
()
此信号被发射每当文档内容改变时;例如,当插入 (或删除) 文本 (或应用格式) 时。
注意: 通知程序信号对于特性 html 。通知程序信号对于特性 markdown .
返回当前格式的文本颜色。
另请参阅 setTextColor ().
返回副本为 QTextCursor 表示当前可见光标。注意:改变返回光标不影响 QTextEdit 的光标; 使用 setTextCursor () 以更新可见光标。
另请参阅 setTextCursor ().
QString QTextEdit::toPlainText() const
把文本编辑的文本作为纯文本返回。
注意: getter 函数对于特性 plainText .
另请参阅 QTextEdit::setPlainText ().
[slot]
void
QTextEdit::
undo
()
撤消上一操作。
若没有要撤消的操作 (即:撤消/重做历史中没有撤消步骤),什么都不发生。
另请参阅 redo ().
[signal]
void
QTextEdit::
undoAvailable
(
bool
available
)
此信号被发射每当撤消操作变为可用 ( available 为 True) 或不可用 ( available 为 false)。
[override virtual protected]
void
QTextEdit::
wheelEvent
(
QWheelEvent
*
e
)
重实现: QAbstractScrollArea::wheelEvent (QWheelEvent *e).
[slot]
void
QTextEdit::
zoomIn
(
int
range
= 1)
放大文本通过使基字体大小 range 点变得更大并将所有字体大小重新计算成新大小。这不会改变任何图像大小。
另请参阅 zoomOut ().
[slot]
void
QTextEdit::
zoomOut
(
int
range
= 1)
缩小文本通过使基字体大小 range 点变得更小并将所有字体大小重新计算成新大小。这不会改变任何图像大小。
另请参阅 zoomIn ().