http://blog.csdn.net/rea_1121/article/details/6432064

QTextEdit简介:

它可以显示rich text。 这里的rich text不是指microsoft的rich text,而是用html标签表示的形式。

它通过viewport显示大型文件,而且性能好,可以快速响应用户的操作。

以paragraph和character为基本单位工作。paragraph是格式化的字符串,自动word-wrap以适应容器的大小。一个document由paragraph组成。paragraph可以有自己的alignment属性,paragragh之间由hard line break截断。每个character有自己的字体和颜色等属性。

QTextEdit可以显示图像,列表和表格。必要时会有滚动条以浏览全文。text edit可以显示plain text和html文件。QtWebKit是比较完整的浏览器控件。QLabel也可以显示小段的rich text.

方法:

I. 显示文本:

setHtml(), toHtml(), clear()用来控制内容到html的转换,还有清除内容。

插入内容:insertHtml(), insertPlainText(), append(), paste(). 类QTextCursor可以用来插入table,list,text,还用来创建selection和修改selection

word wrap: 默认的方式是在空白字符处wrap。 setLineWrapMode() 可以指定wrap的模式,像素,几列,从来不wrap,随便wrap.

查找:find()方法用来查找和选定text内的制定字符串。

可以设置QTextDocument的maximumBlockCount属性来控制文档最多显示的段落数。

II.编辑文本:

设置当前character的属性:setFontItalic (), setFontWeight (), setFontUnderline (), setFontFamily (),setFontPointSize (), setTextColor () and setCurrentFont ().

设置当前paragraph的属性:

得到类QTextCursor来操控selection: textCursor(),返回当前可见的cursor; 创建一个QTextCursor对象setTexctCursor()。 copy和cut方法会把当前选中的文本放到剪贴板中。currentCharFormatChanged()是个信号,cursor移动而且字符格式改变时会被调用。

得到类QTextDocument来操控:document()。setDocument()可以用来设置document. 当document改变时会有textChanged()信号。 isModified方法可以来检查document是否改变。它也有undo() redo()方法。

还有一部分context menu的方法。

QTextDocument简介:

存放结构化的rich text文件,每个元素都有对应的格式对象。可以通过objectForFormat()来通过格式对象查找元素。

可以通过QTextCursor来编程编辑QTextDocument对象。通过rootFrame()方法得到根节点再遍历其中的元素。如果只是浏览其中的文本文档,就用begin(),end(),findBlock()方法。

文本的格式由documentLayout()决定.metaInformation()来的到文件的元信息。

toPlainText()和toHtml()方法能够得到它text形式的内容和html形式的内容。

QTextCursor简介:

QTextCursor是专门用来协助处理和获取QTextDocument内容的一组api. 它包含的信息既有QTextDocument内的光标位置(position()),以及所做的selection(anchor() 和 position()之间)。current character是指position之前的那个character. current block是指包含position()位置的block.

方法:

setPosition(), movePosition() 可以用来创建selection。取得selection的内容:selectionStart (), selectionEnd (),hasSelection (), clearSelection (), andremoveSelectedText ().

取得format信息:charFormat (), blockFormat ().

设置format信息:setCharFormat (),mergeCharFormat (),setBlockFormat () andmergeBlockFormat (). merge会把本来的格式合并。当当前有selection时,char format会对应到所选中的内容上;即使block没有全选,block format会应用于整个block.

删除文本:deleteChar (), deletePreviousChar (), andremoveSelectedText ().

插入文本:insertText () function, insertBlock (). insertList (),insertTable (),insertImage (),insertFrame ()

action可以分组(被undo/redo当作一个操作):beginEditBlock () and endEditBlock ().

QTextEdit和QTextDocument(ZZ)相关推荐

  1. QTextEdit和QTextDocument(一)

    QTextEdit简介: 它可以显示rich text. 这里的rich text不是指microsoft的rich text,而是用html标签表示的形式. 它通过viewport显示大型文件,而且 ...

  2. QTextEdit 总结

    关于Qt的富文本处理, 可以参考文档: Rich Text Processing 该文档有人翻译了一下(本来我想翻译- -!), 参考Rich Text Processing富文本处理 QTextEd ...

  3. 富文本处理(QTextEdit)

    富文本(Rich Text)或富文本格式,简单的讲就是在文档中可以使用多种格式,比如字体颜色.图片.表格等. Qt对富文本的处理分为编辑操作和只读操作.编辑操作使用基于光标的一些接口函数,更好的模拟用 ...

  4. QT5开发及实例学习之十三Qt5文本编辑功能

    文章目录 前言 一.设置字体 二.设置字号 三.设置文字加粗 四.设置文字斜体 五.设置文字加下画线 六.设置文字颜色 七.设置字符格式 前言   在编写包含格式设置的文本编辑程序时,经常用到的 Qt ...

  5. PyQt(Python+Qt)学习随笔:纯文本编辑器QPlainTextEdit功能详解

    专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 一.概述 QPlainTextEdit是用于纯文本的一个高级文档编辑器 ...

  6. GUI学习之十二——QPlainTextEdit学习总结

    QPlainTextEdit可以说是一个简化版的QTextEdit类控件,和QTextEdit的功能差不多,使用了QTextEdit和QTextDocument作为背后实现的技术支撑. 由于QPlai ...

  7. PyQt5 基本语法(四):输入控件

    文章目录 2. 输入控件(一) 2.1 纯键盘 2.1.1 QLineEdit 2.1.1.1 描述 2.1.1.2 控件创建 2.1.1.3 输出模式 2.1.1.4 提示字符串 2.1.1.5 清 ...

  8. qtextedit 默认文案_QTextEdit的paste

    背景 QTextEdit中粘贴一大段文字时,EasyDraft中粘贴进去的文字们的格式就乱了,处于无格式.还有在EasyDraft中选中一些文字进行拖放动作时,格式也会混乱. 解决 这两种都牵涉到QT ...

  9. Qt富文本编辑器QTextDocument

    版权声明:若无来源注明,Techie亮博客文章均为原创. 转载请以链接形式标明本文标题和地址: 本文标题:Qt富文本编辑器QTextDocument     本文地址:https://www.tech ...

最新文章

  1. 符合RESTful的接口规范
  2. 拼多多面试真题:如何用 Redis 统计独立用户访问量!
  3. linux更新模块,Linux下Nginx的安装、升级及动态添加模块
  4. python脚本自动运行失败_解决Python中定时任务线程无法自动退出的问题
  5. dart系列之:dart优秀的秘诀-隔离机制
  6. Java 8:对速度3.0.1“森林”流ORM的更深入了解
  7. Qt笔记-Qt中Json存二进制文件并读取文件(QJsonObject、QJsonArray、QJsonDocument的使用)
  8. mysql floor报错_【学习笔记】MYSQL的floor报错原理分析总结
  9. BUAA_OO_第二单元
  10. 使用WebDeployment Project改善VS2005发布网站问题 [系列导读]
  11. Java基础视频笔记(四):泛型
  12. 电子签章在商业银行的应用取得重要进展,“6类”场景深化应用
  13. tetp服务器怎么上传文件,tftp服务器ip是什么 TFTP服务器怎么设置
  14. GoLang爬取花瓣网美女图片
  15. 淘宝爬虫:看看房地产拍卖行情怎么样?附可视化分析
  16. contiki编程(一)
  17. 深度学习图像处理目标检测图像分割计算机视觉 04--神经网络与误差反向传播BP算法
  18. Codeforces 1148D. Dirty Deeds Done Dirt Cheap
  19. 单元测试总结反思_英语单元测试教学反思范文
  20. 剑指Offer(1)——第一章面试的流程

热门文章

  1. 神马笔记 版本2.0.0——新的旅程
  2. 推荐一个基于 Vue 的前端界面可视化设计器项目
  3. python web开发--web前端开发介绍
  4. OpenSSL 拒绝服务、证书绕过漏洞通告
  5. 洗稿,技术上怎么判断文章相似性?
  6. python新式类和经典类的区别
  7. 数学界的扫地僧们(转载)
  8. mysql数据库表损坏修复方法(适用虚拟主机)
  9. Mackey-Glass时滞混沌系统
  10. 华为EMUI屏蔽更新