QTextEdit和QTextDocument(ZZ)
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)相关推荐
- QTextEdit和QTextDocument(一)
QTextEdit简介: 它可以显示rich text. 这里的rich text不是指microsoft的rich text,而是用html标签表示的形式. 它通过viewport显示大型文件,而且 ...
- QTextEdit 总结
关于Qt的富文本处理, 可以参考文档: Rich Text Processing 该文档有人翻译了一下(本来我想翻译- -!), 参考Rich Text Processing富文本处理 QTextEd ...
- 富文本处理(QTextEdit)
富文本(Rich Text)或富文本格式,简单的讲就是在文档中可以使用多种格式,比如字体颜色.图片.表格等. Qt对富文本的处理分为编辑操作和只读操作.编辑操作使用基于光标的一些接口函数,更好的模拟用 ...
- QT5开发及实例学习之十三Qt5文本编辑功能
文章目录 前言 一.设置字体 二.设置字号 三.设置文字加粗 四.设置文字斜体 五.设置文字加下画线 六.设置文字颜色 七.设置字符格式 前言 在编写包含格式设置的文本编辑程序时,经常用到的 Qt ...
- PyQt(Python+Qt)学习随笔:纯文本编辑器QPlainTextEdit功能详解
专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 一.概述 QPlainTextEdit是用于纯文本的一个高级文档编辑器 ...
- GUI学习之十二——QPlainTextEdit学习总结
QPlainTextEdit可以说是一个简化版的QTextEdit类控件,和QTextEdit的功能差不多,使用了QTextEdit和QTextDocument作为背后实现的技术支撑. 由于QPlai ...
- 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 清 ...
- qtextedit 默认文案_QTextEdit的paste
背景 QTextEdit中粘贴一大段文字时,EasyDraft中粘贴进去的文字们的格式就乱了,处于无格式.还有在EasyDraft中选中一些文字进行拖放动作时,格式也会混乱. 解决 这两种都牵涉到QT ...
- Qt富文本编辑器QTextDocument
版权声明:若无来源注明,Techie亮博客文章均为原创. 转载请以链接形式标明本文标题和地址: 本文标题:Qt富文本编辑器QTextDocument 本文地址:https://www.tech ...
最新文章
- 符合RESTful的接口规范
- 拼多多面试真题:如何用 Redis 统计独立用户访问量!
- linux更新模块,Linux下Nginx的安装、升级及动态添加模块
- python脚本自动运行失败_解决Python中定时任务线程无法自动退出的问题
- dart系列之:dart优秀的秘诀-隔离机制
- Java 8:对速度3.0.1“森林”流ORM的更深入了解
- Qt笔记-Qt中Json存二进制文件并读取文件(QJsonObject、QJsonArray、QJsonDocument的使用)
- mysql floor报错_【学习笔记】MYSQL的floor报错原理分析总结
- BUAA_OO_第二单元
- 使用WebDeployment Project改善VS2005发布网站问题 [系列导读]
- Java基础视频笔记(四):泛型
- 电子签章在商业银行的应用取得重要进展,“6类”场景深化应用
- tetp服务器怎么上传文件,tftp服务器ip是什么 TFTP服务器怎么设置
- GoLang爬取花瓣网美女图片
- 淘宝爬虫:看看房地产拍卖行情怎么样?附可视化分析
- contiki编程(一)
- 深度学习图像处理目标检测图像分割计算机视觉 04--神经网络与误差反向传播BP算法
- Codeforces 1148D. Dirty Deeds Done Dirt Cheap
- 单元测试总结反思_英语单元测试教学反思范文
- 剑指Offer(1)——第一章面试的流程