news 2026/4/15 16:22:57

QTextEdit方法大全

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
QTextEdit方法大全

📘第一部分:构造函数+文本获取与设置方法

🔹【构造函数】

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;

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/14 10:16:29

如何用角色+属性双引擎实现 Dify 混合检索的动态权限控制?

第一章&#xff1a;混合检索的 Dify 权限控制在构建基于 Dify 的智能应用时&#xff0c;混合检索机制与权限控制系统是保障数据安全与查询效率的核心组件。通过精细化的权限设计&#xff0c;可以确保不同角色仅能访问其授权范围内的知识库与检索结果&#xff0c;同时支持关键词…

作者头像 李华
网站建设 2026/4/14 3:05:33

揭秘R-Python模型部署难题:如何实现高效无缝同步?

第一章&#xff1a;R-Python模型部署同步的挑战与背景在现代数据科学实践中&#xff0c;R 和 Python 是两种最广泛使用的编程语言。尽管它们各自拥有强大的建模能力和丰富的生态系统&#xff0c;但在实际生产环境中&#xff0c;将基于 R 训练的模型与基于 Python 构建的服务系统…

作者头像 李华
网站建设 2026/4/1 16:37:40

从入门到精通:Dify分支跳转配置的8个必知场景

第一章&#xff1a;Dify工作流分支跳转的核心概念Dify 工作流中的分支跳转机制是实现复杂业务逻辑编排的关键能力。通过条件判断与动态路径选择&#xff0c;开发者可以控制执行流程在不同节点之间灵活流转&#xff0c;从而满足多样化的应用场景需求。分支跳转的基本原理 分支跳…

作者头像 李华
网站建设 2026/4/16 5:56:15

科研工作者必备:LobeChat辅助论文写作全流程

科研工作者必备&#xff1a;LobeChat辅助论文写作全流程 在当今科研节奏日益加快的背景下&#xff0c;研究者们不仅要产出高质量成果&#xff0c;还要在写作、表达和传播上下足功夫。一篇论文从构思到发表&#xff0c;往往要经历数周甚至数月的反复打磨——文献调研耗时、结构设…

作者头像 李华
网站建设 2026/4/11 11:32:51

从零到上线,Dify与Spring AI模型对接全解析,开发者必看

第一章&#xff1a;从零起步&#xff0c;全面认识Dify与Spring AI集成核心在人工智能快速发展的背景下&#xff0c;Dify 作为一款开源的低代码 AI 应用开发平台&#xff0c;正逐步成为企业级智能服务构建的重要工具。它提供了可视化编排、模型管理、插件扩展等能力&#xff0c;…

作者头像 李华
网站建设 2026/4/14 4:20:02

【私有化Dify用户管理终极指南】:掌握企业级权限控制的5大核心策略

第一章&#xff1a;私有化Dify用户管理的核心价值在企业级AI应用部署中&#xff0c;私有化Dify平台的用户管理能力成为保障数据安全与权限可控的关键环节。通过本地化部署用户体系&#xff0c;企业能够在不依赖外部服务的前提下&#xff0c;实现对操作主体的精细化控制&#xf…

作者头像 李华