PyQt(Python+Qt)学习随笔:QTextEdit的setText、setHtml、setPlainText之间的区别
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输出文本时,会将其按照输入内容基本保持不变的输出,唯一例外是 会转换成空格输出

老猿Python,跟老猿学Python!
PyQt(Python+Qt)学习随笔:QTextEdit的setText、setHtml、setPlainText之间的区别的更多相关文章
- PyQt(Python+Qt)学习随笔:Designer中的QDialogButtonBox的按钮改变缺省文字的方法
在Qt Designer中可以预先定义标准按钮,相关支持的标准按钮请见<PyQt(Python+Qt)学习随笔:Designer中的QDialogButtonBox的StandardButton ...
- PyQt(Python+Qt)学习随笔:利用QWidget部件的palette以及ColorGroup、colorRole局部调整部件的特定范围颜色
专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 在<PyQt(Python+Qt)学习随笔:QWidget部件的 ...
- PyQt(Python+Qt)学习随笔:视图中类QAbstractItemView的dragDropOverwriteMode属性不能覆盖写的问题
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 在<PyQt(Python+Qt)学习随笔:视图中类QAbstractItemView的dra ...
- PyQt(Python+Qt)学习随笔:视图中类QAbstractItemView的dragDropOverwriteMode属性
老猿Python博文目录 老猿Python博客地址 一.属性的作用 dragDropOverwriteMode属性用于控制视图的拖放行为,如果其值为True,则视图中选定的数据将在拖拽数据放下时被覆盖 ...
- PyQt(Python+Qt)学习随笔:视图中的dragDropMode属性对dragEnabled和acceptDrops属性的影响
老猿Python博文目录 老猿Python博客地址 在<PyQt(Python+Qt)学习随笔:QAbstractItemView的dragEnabled和dragDropMode属性的关系&g ...
- PyQt(Python+Qt)学习随笔:QAbstractItemView的dragEnabled和dragDropMode属性的关系
老猿Python博文目录 老猿Python博客地址 在<PyQt(Python+Qt)学习随笔:QAbstractItemView的dragEnabled属性的困惑>中,老猿觉得dragE ...
- PyQt(Python+Qt)学习随笔:视图中的拖放操作注意事项
老猿Python博文目录 老猿Python博客地址 在通过PyQt构建的图形界面中进行拖放,要成功进行拖放需要注意: 视图相关属性需要支持拖放,具体相关属性请参考<PyQt(Python+Qt) ...
- PyQt(Python+Qt)学习随笔:Qt Designer中部件的autoFillBackground属性
autoFillBackground属性可以确认部件背景是否自动填充,如果自动填充,Qt会在调用Paint事件之前填充部件的背景.使用的颜色由部件调色板中的QPalette.window 角色定义(关 ...
- PyQt(Python+Qt)学习随笔:Qt Designer中部件的accessibleDescription和accessibleName辅助阅读属性
accessibleDescription和accessibleName属性都是用于残疾人辅助阅读的,这两个属性都有国际化属性(关于国际化请参考<PyQt(Python+Qt)学习随笔:Qt D ...
- PyQt(Python+Qt)学习随笔:Qt Designer中部件的toolTip、toolTipDuration、statusTip、whatsThis属性
toolTip属性 toolTip属性设置部件的toolTip提示信息,toolTip提示信息在鼠标放到控件上会浮动出一个小框显示提示信息.默认情况下,仅显示活动窗口子部件的toolTip,可以通过在 ...
随机推荐
- MFC的Static控件文字重叠问题
写个普通的MFC桌面程序,为了美化界面用了界面库,然后界面上的静态文本就出现了重叠的效果,就像下面这样: 但是窗口被刷新一下就好了,比如被遮挡后恢复的时候.在程序中可以手动加入以下代码: void C ...
- iOS开发 objective C 代码布局
代码布局抛弃storyboard,用代码生成界面,它的优劣不谈 首先在项目设置中,更改应用的"入口" 不选main,清空它 然后在AppDelegate.m中,更改(添加内容),别 ...
- 大厂是怎么进行SQL调优的?
有情怀,有干货,微信搜索[三太子敖丙]关注这个不一样的程序员. 本文 GitHub https://github.com/JavaFamily 已收录,有一线大厂面试完整考点.资料以及我的系列文章. ...
- JAVA基础之接口与内部类
接口与内部类 目录 接口与内部类 1. Lambda表达式 1. 关于懒计算 2. Predicate接口 3. 关于方法引用 4. 关于构造器引用 5. 关于变量的作用域 2. 内部类 1. 局部内 ...
- c++ 11字符串与string转换常用函数
这里主要介绍一下string to int 其他方法与这个类似,可到头文件 <string> 中查看 @_Str 转换的字符串 @_Idx 转换的长度(位数) @_Base 进制 doub ...
- Python项目2:弹幕复读机
目录 一.功能 二.思路 三.实现 1. 获取弹幕 2. 发送弹幕 3. 封装调用 这个项目是我从B站的一个up主那学到的(原视频号269525280),感觉很是有趣,就是很欠打哈哈 一.功能 功能很 ...
- Python_Python处理JSON文件
# Python处理Json对象 # Python处理Json对象 ''' json.loads() 将JSON字符串转为Python对象 json.dumps() 将Python对象转为JSON字符 ...
- mysql多表查询之子语句查询
1.子语句查询 1.1子语句查询出来的结果集作为临时表名使用 select * from (select * from person) as aaa; -- as这个起别名关键字是可以省略的 1.2查 ...
- js常用通用函数
//判断是否数字 function isNumber(str){ var n = Number(str); if (!isNaN(n)){ return true; }else{ return fal ...
- ATM管理系统(三)
一.作业信息 博客班级 软件工程 作业要求 作业要求 作业目标 你理解的作业目标具体内容 学号 3180701218 二.题目要求 编写一个ATM管理系统,语言不限,要求应包括以下主要功能:(1)开户 ...