首页 > 其他分享 >pyqt5-QPlainTextEdit与文本详解

pyqt5-QPlainTextEdit与文本详解

时间:2023-06-29 14:24:06浏览次数:37  
标签:标签 self html pyqt5 plainTextEdit window 详解 appendHtml QPlainTextEdit

1、纯文本

setPlainText(self, text: str)
  • 直接设置普通文本,不显示任何样式
  • 是组件整体进行设值
appendPlainText(self, text: str) 
  • 拼接纯文本
  • 如果拼接前的组件中已经输出文本,会换行再输出纯文本。如果未输出,则直接在首行输出纯文本
insertPlainText(self, text: str)
  • 在光标处插入纯文本。即使不聚焦组件,光标仍然存在,一般是在末尾处
  • 不会进行换行操作

2、html

QPlainTextEdit组件写入html的方法只有一个,即appendHtml方法

  • 作用是添加html代码的文本,进行一定的样式显示,区别于appendPlainText只添加普通文本
  • 需要注意该方法对任意标签,无论该标签是否是合法html标签,是否开始标签和结束标签为同一标签名,是否为显示样式,都不会在组件中输出其开始标签和结束标签部分,而开始标签和结束标签之间的文本会直接输出
  • 对于合法的html标签,并不一定会显示html样式,存在一定的限制
  • 如果拼接前的组件中已经输出文本,会换行再输出。如果未输出,则直接在首行输出

2.1 html元素样式

偏向于对文本的字体颜色、字号等属性进行显示,而其它html样式基本不显示

(1)a标签

  • 需要定义href属性,并且至少设置一个字符时,会显示为样式。
        self.window.plainTextEdit.appendHtml('<a href="http://www.baidu.com">abcddddddddddd</a>123')
        self.window.plainTextEdit.appendHtml('<a href=http://www.baidu.com>abcddddddddddd</a>123')
        self.window.plainTextEdit.appendHtml('<a href=\'http://www.baidu.com\'>abcddddddddddd</a>123')
        self.window.plainTextEdit.appendHtml('<a href=>abcddddddddddd</a>123')
        self.window.plainTextEdit.appendHtml('<a href=#>abcddddddddddd</a>123')
        self.window.plainTextEdit.appendHtml('<a>abcddddddddddd</a>123')

(2)其它标签

self.window.plainTextEdit.appendHtml('<input type=input>123')
self.window.plainTextEdit.appendHtml('<adz href=\'http://www.baidu.com\'>abcddddzzdddddddd</az>123')

(3)style属性

self.window.plainTextEdit.appendHtml('<span style=color:red>123</span>')

2.2 html的空白符

一般来说,如果添加的文本中包括多个空白符,会被处理为单个空格。

可以用pre标签来嵌套,使得空白符不被合并。

但是,pre标签本身是块级元素,因此将其用于组件内整体嵌套为宜。否则的话,pre会导致分行

2.3 html实体编码

appendHtml方法支持html实体编码

self.window.plainTextEdit.appendHtml('&lt;span style=color:red>123</span>')

self.window.plainTextEdit.appendHtml('&lt;span style=color:red>123&lt;&gt;&nbsp;&nbsp;abc</span>')

3、读取组件

QPlainTextEdit组件只提供了读取纯文本的方法,而不存在读取html方法

toPlainText(self) -> str
  • 只读取显示输出的文本内容,而对于标签的开始标签和结束标签并不读取
  • 忽略样式
  • 如果是html实体编码输出,读取时获取的是输出的字符
self.window.plainTextEdit.appendHtml('&lt;span style=color:red>123&lt;&gt;&nbsp;&nbsp;abc</span>')
print(self.window.plainTextEdit.toPlainText())

 

标签:标签,self,html,pyqt5,plainTextEdit,window,详解,appendHtml,QPlainTextEdit
From: https://www.cnblogs.com/wd404/p/17514101.html

相关文章

  • 大数据分析工具有哪些?详解瓴羊Quick BI
    随着大数据时代的来临,企业对数据的需求变得越来越迫切。大数据分析工具,包括数据挖掘工具、大数据处理框架、商业智能及数据可视化工具等,正成为企业管理者的得力助手。瓴羊QuickBI作为一款国产BI工具,帮助企业用户实现高效、快速、准确的企业大数据处理与分析,成为国内优秀的大数据分......
  • 详解金融机构敏捷营销落地:体系架构、关键技术和实施方法
    本文根据2023年金融营销科技价值发现论坛中,神策数据金融首席架构师王仕的主题演讲整理所得,聚焦营销5.0理念下的敏捷营销,详细讲解落地敏捷营销涉及到的整体架构、关键技术及实施方法。关注神策数据公众号,即可观看完整版直播回放并下载演讲文档。根据国家发改委官网披露的数据,202......
  • Pico Scope使用详解
    本篇文章主角为Picoscope Picoscope是CANoe和CANalyzer的集成示波器解决方案,是基于USB连接的一种示波器硬件。当我们需要确认干扰和干扰序列,同时分析总线的物理信号和逻辑信号时,可以采用Scope配合CANoe观测电平信号。同时也是一致性测试不可或缺的硬件工具。除此之外也可以有......
  • 【后端面经-Java】AQS详解
    目录1.AQS是什么?2.AQS核心思想2.1基本框架2.1.1资源state2.1.2CLH双向队列2.2AQS模板3.源码分析3.1acquire(int)3.1.1tryAcquire(int)3.1.2addWaiter(Node.EXCLUSIVE)3.1.3acquireQueued(Nodenode,intarg)3.2release(int)3.2.1tryRelease(int)3.2.2unparkSuccess......
  • 一文详解:大数据分析工具有哪些?
    想要回答“大数据分析工具有哪些?”,首先必须了解什么是“大数据”根据麦肯锡全球研究所给出的定义,大数据通常指具有数据规模大(Volume)、高速(Velocity)、类型多(Variety)、价值密度低(Veracity)和真实性(Veracity)五V特征的数据资料。这类数据资料将超出传统数据处理软件的能力范围,因......
  • Linux下常用scp,tail,grep命令详解[记录]
    scp命令用于在本地主机和远程主机之间复制文件或目录,支持加密传输。它可以通过ssh协议来进行数据传输,因此传输过程是安全的。注意:在使用scp命令时,如果出现权限验证失败的情况,可能需要检查本地主机和远程主机之间的ssh配置是否正确。scp[参数][原路径][目标路径][参......
  • Linux curl命令详解
    命令:curl在Linux中curl是一个利用URL规则在命令行下工作的文件传输工具,可以说是一款很强大的http命令行工具。它支持文件的上传和下载,是综合传输工具,但按传统,习惯称url为下载工具。语法:#curl[option][url]常见参数:-A/--user-agent<string>设置用户代理......
  • 1、Apache Kudu介绍及架构、工作原理、两种部署方式、使用限制详解
    ApacheKudu系列文章1、ApacheKudu介绍及架构、工作原理、两种部署方式、使用限制详解2、ApacheKudu-javaapi操作kudu详细示例以及kudu的三种实现示例3、ApacheKudu集成impala(shell和java操作)的详细操作(文章目录)本文简单的介绍了kudu的基本情况、架构、部署、原理......
  • Linux | screen命令详解
    在服务器上搭建一些服务的时候,经常要用到screen命令。这是因为一般情况下我们只会开一个连接服务器的控制台,但是某些服务(比如minecraft服务器)开启的时候需要占据一整个控制台,如果关闭了就会导致进程终止。这就成了类似单进程的效果。而screen命令就是为了能够在服务器上开启多个控......
  • LLaMA模型微调版本:斯坦福 Alpaca 详解
    项目代码:https://github.com/tatsu-lab/stanford_alpaca博客介绍:https://crfm.stanford.edu/2023/03/13/alpaca.htmlAlpaca总览Alpaca是LLaMA-7B的微调版本,使用Self-instruct[2]方式借用text-davinct-003构建了52K的数据,同时在其构建策略上做了一些修改。性能上作者对Alp......