📘第一部分:构造函数+文本获取与设置方法
🔹【构造函数】
1. *QTextEdit(QWidget parent = nullptr)
创建一个空的多行文本输入框。
示例:
QTextEdit* edit =newQTextEdit(this);
2. *QTextEdit(const QString &text, QWidget parent = nullptr)
创建并设置初始文本内容。
示例:
QTextEdit* edit =newQTextEdit("初始内容",this);
🔹【文本获取与设置】
3. QString toPlainText() const
获取控件内的纯文本内容。
示例:
QString txt = edit->toPlainText();
qDebug() << txt;
4. QString toHtml() const
获取控件内的HTML 富文本内容。
示例:
QString html = edit->toHtml();
qDebug() << html;
5. void setPlainText(const QString &text)
设置纯文本(会清空原内容)。
示例:
edit->setPlainText("这是新的纯文本内容");
6. void setHtml(const QString &text)
设置 HTML 富文本(可带颜色、大小等格式)。
示例:
edit->setHtml("<h2><font color='red'>标题</font></h2>");
7. void setText(const QString &text)
自动判断 text 是纯文本或 HTML,智能设置内容。
示例:
edit->setText("<b>粗体内容</b>");//会识别为HTML
8. void clear()
清空文本内容。
示例:
edit->clear();
9.QTextDocument document() const*
返回底层文档对象,可用来做高级富文本操作。
示例:
QTextDocument* doc = edit->document();
intlen = doc->characterCount();
qDebug() <<"字数:"<< len;
📘 第二部分:编辑操作方法
10. void undo()
撤销上一次操作。
示例:
edit->undo();
11. void redo()
恢复被撤销的操作。
示例:
edit->redo();
12. void cut()
剪切选中的文本到剪贴板。
示例:
edit->cut();
13. void copy()
复制选中的文字到剪贴板。
示例:
edit->copy();
14. void paste()
将剪贴板内容粘贴到光标位置。
示例:
edit->paste();
15. void selectAll()
选中全部文本内容。
示例:
edit->selectAll();
📘 第三部分:光标与位置控制
16. QTextCursor textCursor() const
获取光标对象,可进一步控制插入点、选择范围等。
示例:
QTextCursor cursor = edit->textCursor();
qDebug() << cursor.position();
17. void setTextCursor(const QTextCursor &cursor)
设置光标位置。
示例:
QTextCursor cur = edit->textCursor();
cur.movePosition(QTextCursor::End);
edit->setTextCursor(cur);
18. void moveCursor(QTextCursor::MoveOperation op, QTextCursor::MoveMode mode = QTextCursor::MoveAnchor)
移动光标位置(如:行首、行尾、向右移动等)。
示例:
edit->moveCursor(QTextCursor::Start);//移到开头
19. void ensureCursorVisible()
自动滚动内容,使光标保持可见。
示例:
edit->ensureCursorVisible();
20. void centerCursor()
让光标在窗口中垂直居中显示。
示例:
edit->centerCursor();
21. void setCursorWidth(int width)
设置光标宽度(用于高亮插入条)。
示例:
edit->setCursorWidth(5);
22. int cursorWidth() const
获取光标宽度。
示例:
intw = edit->cursorWidth();
qDebug() << w;
📘 第四部分:文本格式控制(字体、颜色、对齐等)
23. void setAlignment(Qt::Alignment alignment)
设置段落对齐方式(左、右、居中、两端对齐)。
示例:
edit->setAlignment(Qt::AlignCenter);//居中对齐
24. Qt::Alignment alignment() const
获取当前段落的对齐方式。
示例:
Qt::Alignment a = edit->alignment();
25. void setFontPointSize(qreal size)
设置当前字体大小(单位 pt)。
示例:
edit->setFontPointSize(20);
26. void setFontWeight(int weight)
设置字体粗细(如 QFont::Bold)。
示例:
edit->setFontWeight(QFont::Bold);
27. void setFontUnderline(bool on)
设置文字是否带下划线。
示例:
edit->setFontUnderline(true);
28. void setFontItalic(bool on)
设置文字是否倾斜。
示例:
edit->setFontItalic(true);
29. void setCurrentFont(const QFont &font)
设置当前字体(名称、大小、粗细等一起设)。
示例:
edit->setCurrentFont(QFont("Microsoft YaHei",16));
30. void setFontFamily(const QString &family)
设置字体家族,例如 "Arial", "SimSun"。
示例:
edit->setFontFamily("SimSun");
31. void setTextColor(const QColor &color)
设置文字颜色。
示例:
edit->setTextColor(Qt::red);
32. void setTextBackgroundColor(const QColor &color)
设置文字背景色(类似高亮)。
示例:
edit->setTextBackgroundColor(Qt::yellow);
33. void mergeCurrentCharFormat(const QTextCharFormat &format)
合并字符格式(保留原格式,仅修改指定项)。
示例:
QTextCharFormat fmt;
fmt.setFontUnderline(true);
fmt.setForeground(Qt::blue);
edit->mergeCurrentCharFormat(fmt);
34. void setCurrentCharFormat(const QTextCharFormat &format)
完全设置字符格式(覆盖原格式)。
示例:
QTextCharFormat fmt;
fmt.setFontWeight(QFont::Bold);
fmt.setFontItalic(true);
edit->setCurrentCharFormat(fmt);
35. QTextCharFormat currentCharFormat() const
获取当前文字的格式。
示例:
QTextCharFormat fmt = edit->currentCharFormat();
qDebug() << fmt.fontPointSize();
📘 第五部分:文本插入与追加
36. void append(const QString &text)
在文本最后追加一行,并自动换行。
示例:
edit->append("这是追加的一行文本");
37. void insertPlainText(const QString &text)
在当前光标位置插入纯文本,不会自动换行。
示例:
edit->insertPlainText("插入纯文本");
38. void insertHtml(const QString &text)
在当前光标位置插入 HTML 富文本内容。
示例:
edit->insertHtml("<b><font color='red'>红色粗体插入</font></b>");
📘 第六部分:只读控制
39. void setReadOnly(bool readOnly)
设置控件是否可编辑。
示例:
edit->setReadOnly(true);//设为只读
40. bool isReadOnly() const
判断当前是否为只读模式。
示例:
boolro = edit->isReadOnly();
qDebug() << ro;
📘 第七部分:自动换行模式
41. void setLineWrapMode(LineWrapMode mode)
设置自动换行方式,如:
- NoWrap — 不换行,出现水平滚动条
- WidgetWidth — 根据控件宽度自动换行
示例:
edit->setLineWrapMode(QTextEdit::WidgetWidth);
42. LineWrapMode lineWrapMode() const
获取当前换行模式。
示例:
automode = edit->lineWrapMode();
43. void setWordWrapMode(QTextOption::WrapMode mode)
设置单词如何换行(英文相关),如:
- WordWrap 正常按单词换行
- NoWrap 不换行
示例:
edit->setWordWrapMode(QTextOption::WordWrap);
44. QTextOption::WrapMode wordWrapMode() const
获取当前单词换行模式。
示例:
autowrap = edit->wordWrapMode();
📘 第八部分:缩进操作(富文本编辑特性)
45. void indent()
为当前段落增加缩进。
示例:
edit->indent();
46. void outdent()
减少当前段落的缩进。
示例:
edit->outdent();
📘 第九部分:查找文本
47. bool find(const QString &exp, QTextDocument::FindFlags options = {})
查找文本,支持:
- 向前/向后搜索
- 大小写敏感
- 全字匹配
示例:
edit->find("Qt");
📘 第十部分:文档相关设置
48. *void setDocument(QTextDocument document)
替换内部文档对象(高阶操作)。
示例:
QTextDocument* doc =newQTextDocument("新的文档");
edit->setDocument(doc);
49. void setDocumentTitle(const QString &title)
设置文档标题。
示例:
edit->setDocumentTitle("我的文档");
50. QString documentTitle() const
获取文档标题。
示例:
QString title = edit->documentTitle();
qDebug() << title;