PyQt5入门学习笔记(五)—QTextEdit、QTextBrowser

2023-12-15 22:58

本文主要是介绍PyQt5入门学习笔记(五)—QTextEdit、QTextBrowser,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

QTextEdit

介绍

QTextEdit类提供了一个用于编辑和显示纯文本和富文本的部件。

方法和属性

**1.toPlainText():获取文本
**2.setText():设置文本
**3.textChanged():再文本每次被改变的时候,发送信号
**4.clear():清空文本
**5.setPlaceholderText():设置占位字符串(只有再文本编辑框么有任何内容的时候才会显示)

制作一个简易的记事本

import sys
from PyQt5.QtWidgets import QApplication,QWidget,QPushButton,QTextEdit,QVBoxLayout,QHBoxLayout,QMessageBox
from PyQt5.QtGui import QIconclass Simple_Notebook(QWidget):def __init__(self):super(Simple_Notebook,self).__init__() #使用super函数可以实现子类使用父类的方法self.setWindowTitle("记事本")self.setWindowIcon(QIcon('NoteBook.png'))self.resize(500,500)self.text = QTextEdit(self)self.text.setText("Have a nice day")self.text.setPlaceholderText("Please add some here")self.text.textChanged.connect(lambda:print("it is changed"))self.button_1 = QPushButton("Save",self)self.button_2 = QPushButton("Clear",self)self.button_1.clicked.connect(lambda:self.button_click(self.button_1))self.button_2.clicked.connect(lambda:self.button_click(self.button_2))self.h_layout = QHBoxLayout()self.v_layout = QVBoxLayout()self.h_layout.addWidget(self.button_1)self.h_layout.addWidget(self.button_2)self.v_layout.addWidget(self.text)self.v_layout.addLayout(self.h_layout)self.setLayout(self.v_layout)def button_click(self,button):if button == self.button_1:if choice == QMessageBox.Yes:with open('text_edit.txt','w') as f:f.write(self.text.toPlainText())self.close()elif choice == QMessageBox.No:self.close()elif button == self.button_2:print("文本被清除")self.text.clear()if __name__== "__main__":app = QApplication(sys.argv)test = Simple_Notebook()test.show()sys.exit(app.exec())

ouput:
例子

QTextBrowser

介绍

QTextBrowser类为浏览富文本提供了超文本导航。
调用append方法想文本浏览器中添加文本

import sys
from PyQt5.QtWidgets import QApplication,QWidget,QPushButton,QTextEdit,QVBoxLayout,QHBoxLayout,QMessageBox
from PyQt5.QtGui import QIconclass Simple_Notebook(QWidget):def __init__(self):super(Simple_Notebook,self).__init__() #使用super函数可以实现子类使用父类的方法self.setWindowTitle("记事本")self.setWindowIcon(QIcon('NoteBook.png'))self.resize(500,500)self.text = QTextBrowser(self)self.text.setText("Have a nice day")self.text.setPlaceholderText("Please add some here") #设置文本初始化内容,调用setReadOnly方法并传入False参数即可编辑浏览器框self.text.textChanged.connect(lambda:print("it is changed"))self.button_1 = QPushButton("Save",self)self.button_2 = QPushButton("Clear",self)self.button_3 = QPushButton("Add",self)self.button_1.clicked.connect(lambda:self.button_click(self.button_1))self.button_2.clicked.connect(lambda:self.button_click(self.button_2))self.button_3.clicked.connect(self.add_text)self.h_layout = QHBoxLayout()self.v_layout = QVBoxLayout()self.h_layout.addWidget(self.button_1)self.h_layout.addWidget(self.button_2)self.h_layout.addWidget(self.button_3)self.v_layout.addWidget(self.text)self.v_layout.addLayout(self.h_layout)self.setLayout(self.v_layout)def button_click(self,button):if button == self.button_1:if choice == QMessageBox.Yes:with open('text_edit.txt','w') as f:f.write(self.text.toPlainText())self.close()elif choice == QMessageBox.No:self.close()elif button == self.button_2:print("文本被清除")self.text.clear()def add_text(self):self.text.append("hello,world") #调用append方法if __name__== "__main__":app = QApplication(sys.argv)test = Simple_Notebook()test.show()sys.exit(app.exec())

output:
例子

希望这篇文章可以帮助到大家,感谢大家的支持。

这篇关于PyQt5入门学习笔记(五)—QTextEdit、QTextBrowser的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/498207

相关文章

SpringCloud Stream 快速入门实例教程

《SpringCloudStream快速入门实例教程》本文介绍了SpringCloudStream(SCS)组件在分布式系统中的作用,以及如何集成到SpringBoot项目中,通过SCS,可... 目录1.SCS 组件的出现的背景和作用2.SCS 集成srping Boot项目3.Yml 配置4.Sprin

SpringMVC配置、映射与参数处理​入门案例详解

《SpringMVC配置、映射与参数处理​入门案例详解》文章介绍了SpringMVC框架的基本概念和使用方法,包括如何配置和编写Controller、设置请求映射规则、使用RestFul风格、获取请求... 目录1.SpringMVC概述2.入门案例①导入相关依赖②配置web.XML③配置SpringMVC

MySQL索引踩坑合集从入门到精通

《MySQL索引踩坑合集从入门到精通》本文详细介绍了MySQL索引的使用,包括索引的类型、创建、使用、优化技巧及最佳实践,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友... 目录mysql索引完整教程:从入门到入土(附实战踩坑指南)一、索引是什么?为什么需要它?1.1 什么

Java Lettuce 客户端入门到生产的实现步骤

《JavaLettuce客户端入门到生产的实现步骤》本文主要介绍了JavaLettuce客户端入门到生产的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要... 目录1 安装依赖MavenGradle2 最小化连接示例3 核心特性速览4 生产环境配置建议5 常见问题

从入门到精通详解Python虚拟环境完全指南

《从入门到精通详解Python虚拟环境完全指南》Python虚拟环境是一个独立的Python运行环境,它允许你为不同的项目创建隔离的Python环境,下面小编就来和大家详细介绍一下吧... 目录什么是python虚拟环境一、使用venv创建和管理虚拟环境1.1 创建虚拟环境1.2 激活虚拟环境1.3 验证虚

Unity新手入门学习殿堂级知识详细讲解(图文)

《Unity新手入门学习殿堂级知识详细讲解(图文)》Unity是一款跨平台游戏引擎,支持2D/3D及VR/AR开发,核心功能模块包括图形、音频、物理等,通过可视化编辑器与脚本扩展实现开发,项目结构含A... 目录入门概述什么是 UnityUnity引擎基础认知编辑器核心操作Unity 编辑器项目模式分类工程

Java List 使用举例(从入门到精通)

《JavaList使用举例(从入门到精通)》本文系统讲解JavaList,涵盖基础概念、核心特性、常用实现(如ArrayList、LinkedList)及性能对比,介绍创建、操作、遍历方法,结合实... 目录一、List 基础概念1.1 什么是 List?1.2 List 的核心特性1.3 List 家族成

Python学习笔记之getattr和hasattr用法示例详解

《Python学习笔记之getattr和hasattr用法示例详解》在Python中,hasattr()、getattr()和setattr()是一组内置函数,用于对对象的属性进行操作和查询,这篇文章... 目录1.getattr用法详解1.1 基本作用1.2 示例1.3 原理2.hasattr用法详解2.

c++日志库log4cplus快速入门小结

《c++日志库log4cplus快速入门小结》文章浏览阅读1.1w次,点赞9次,收藏44次。本文介绍Log4cplus,一种适用于C++的线程安全日志记录API,提供灵活的日志管理和配置控制。文章涵盖... 目录简介日志等级配置文件使用关于初始化使用示例总结参考资料简介log4j 用于Java,log4c

史上最全MybatisPlus从入门到精通

《史上最全MybatisPlus从入门到精通》MyBatis-Plus是MyBatis增强工具,简化开发并提升效率,支持自动映射表名/字段与实体类,提供条件构造器、多种查询方式(等值/范围/模糊/分页... 目录1.简介2.基础篇2.1.通用mapper接口操作2.2.通用service接口操作3.进阶篇3