江门做网站价格,多平台视频发布软件,小程序开发公司排行榜前10,安卓app免费下载1. 基本介绍 QTextEdit 是 Qt 中用于显示和编辑富文本#xff08;支持 HTML 子集#xff09;和纯文本的控件。 支持文本格式#xff08;字体、颜色、对齐#xff09;、列表、表格、图片插入等富文本功能。 底层通过 QTextDocument 管理内容#xff0c;提供强大的文本处理…1. 基本介绍 QTextEdit 是 Qt 中用于显示和编辑富文本支持 HTML 子集和纯文本的控件。 支持文本格式字体、颜色、对齐、列表、表格、图片插入等富文本功能。 底层通过 QTextDocument 管理内容提供强大的文本处理能力。 2. 核心功能 文本操作插入、删除、修改文本支持撤销/重做。 格式控制字体、字号、颜色、粗体/斜体/下划线、对齐方式等。 富文本支持通过 HTML/CSS 渲染内容如 粗体。 光标操作通过 QTextCursor 精细控制文本插入、选择和格式。 滚动与换行自动换行、滚动条控制。 3. 常用方法
// 文本内容操作
setText(Hello World); // 设置纯文本
append(New line); // 追加文本
QString text toPlainText();// 获取纯文本
QString html toHtml(); // 获取 HTML 内容// 格式设置
setFontFamily(Arial); // 设置字体
setFontPointSize(12); // 字号
setTextColor(Qt::red); // 文字颜色
setAlignment(Qt::AlignCenter); // 居中对齐// 光标操作
QTextCursor cursor textCursor();
cursor.insertText(Inserted Text); // 插入文本
cursor.insertImage(image.png); // 插入图片// 查找与替换
find(searchText); // 查找文本find(“searchText”); // 查找文本
4. 关键信号 textChanged()文本内容变化时触发。 selectionChanged()选中文本变化时触发。 cursorPositionChanged()光标位置变化时触发。 5. 高级功能 语法高亮继承 QSyntaxHighlighter 实现自定义高亮规则。 插入复杂对象表格、列表、图片、超链接。
cursor.insertTable(2, 2); // 插入 2x2 表格
cursor.insertHtml(a hrefhttps://example.comLink/a);打印支持通过 QTextDocument 导出为 PDF 或打印。 自定义样式使用 CSS 样式表修改控件外观
setStyleSheet(QTextEdit { border: 2px solid gray; });6. 与 QPlainTextEdit 的区别
特性QTextEditQPlainTextEdit文本类型富文本 纯文本纯文本性能适合中小规模文本适合大规模文本更高效王格式支持五支持字体、颜色、图片等仅基础格式如换行使用场景富文本编辑器、邮件客户端日志显示、代码编辑器 7. 注意事项 性能处理超长文本时优先考虑 QPlainTextEdit。 HTML 支持限制并非所有 HTML 标签都有效如 JavaScript。 光标操作通过 QTextCursor 实现复杂编辑如选中多行。 8. 简单示例
// 创建 QTextEdit 并设置基础属性
QTextEdit *edit new QTextEdit;
edit-setPlainText(Initial Text);
edit-setFontUnderline(true);
edit-setLineWrapMode(QTextEdit::WidgetWidth); // 自动换行// 响应文本变化
connect(edit, QTextEdit::textChanged, []() {qDebug() Text changed!;
});9. 适用场景 需要富文本编辑的应用如 Markdown 编辑器、邮件客户端。 格式化文本展示如报告生成、带样式的说明文档。 通过掌握 QTextEdit 的核心功能和方法可以实现复杂的文本编辑需求同时注意在性能敏感场景下合理选择控件。