QTextEdit中提供了三个设置编辑器文本的方法,分别是setText、setHtml、setPlainText,这三者之间的区别如下:

  • setHtml是个普通方法,调用时,参数内容按html文本处理,进行解析将解析后的内容显示在编辑器中,setHtml有对应的查询方法toHtml方法
  • setPlainText是个槽方法,直接将参数指定文本按纯文本显示在编辑器中,不进行任何解析,setPlainText有对应的查询方法toPlainText方法
  • setText是个槽方法,调用时,参数内容可以是纯文本也可以是html文本,该方法自动解析文本的内容来识别文本格式,根据格式不同来进行不同的处理,纯文本直接显示,html文本会进行解析将解析后的内容显示在编辑器中,类似于浏览器对html文档的解析。建议如果知道输入的文本格式时,准确调用上面两个方法,而不是调用setText。setText没有对应的查询方法

当输入文本是一个html文本并且会按html文本解析时,除了将解析内容显示出来,还会将html文档的基本框架(包括title、head、body、html等标签,但不含展示内容控制部分的标签如p、div、li、href、link等)保存到QTextEdit的html属性中。但是需要注意:

  • 解析后展示内容相关控制的原始标签有可能会被转换为等效的标签,如div标签内只有纯文本时可能被转换为p等,具体老猿没有仔细研究
  • 当html文本用toHtml输出时,是将html属性中保存的html框架文本+将显示内容对应的html文本生成输出的html文本,其中显示内容对于的html文本会被插入html属性保存文本的body标签内,并且是按照转换后的内容来生成的,与调用setHtml设置的原始内容可能会出现不同
  • 当html文本使用setHtml设置为编辑器的文本后,调用toPlainText输出文本时,会将所有html标签过滤,只输出界面上展示的纯文本内容
  • 当在编辑器中手工输入html标签相关的文本时,编辑器只会将其输入内容当成纯文本处理,如手工输入html标签相关的文本使用toPlainText输出文本时,会将其按照输入内容基本保持不变的输出,唯一例外是&nbsp会转换成空格输出

老猿Python,跟老猿学Python!

最新文章

  1. JS.中文乱码,Jsp\Servlet端的解决办法
  2. phonegap开发经验谈之一命令行建立项目和准备工作
  3. 实现手机扫描二维码页面登录,类似web微信-第三篇,手机客户端
  4. [转载]JavaScript 中小数和大整数的精度丢失
  5. C++Primer 第一章
  6. java 文件和流
  7. linux shell 执行多个命令的方法
  8. Condition源码分析
  9. 自学Python2.1-基本数据类型-字符串str(object)
  10. nodejs批量导入数据eventproxy(回调函数嵌套解决方案)使用实例
  11. Android进阶(十五)socket通信——聊天室
  12. 第五篇Scrum冲刺博客
  13. Java开发笔记(六十五)集合:HashSet和TreeSet
  14. sharc dsp 学习记录1---2014-07-30
  15. python 安装pandas
  16. AOP 貌似是拦截器 对方法进行拦截
  17. 用LSTM生成武侠人名
  18. 3.控制hive map reduce个数
  19. Python 装饰器(进阶篇)
  20. k8s-configmap

热门文章

  1. Unknown CMake command
  2. js练习题之查找数组中的位子
  3. 利用命令行将本地代码上传至GitHub仓库
  4. Reactor详解之:异常处理
  5. 对于STM32F103的USART的通讯调试
  6. GDB的原理
  7. Go语言内存分配(详述 转)
  8. python 第二天 之循环与判断
  9. Python面试题_中级版
  10. Boost命令行解释器的简单使用:Boost.Program_options