热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

PyQt5QTextEdit:深入解析Python中多功能GUI库的应用与实现

本文详细探讨了PyQt5中QTextEdit组件在Python多功能GUI库中的应用与实现。PyQt5是Qt框架的Python绑定,提供了超过620个类和6000个函数及方法,广泛应用于跨平台应用程序开发。QTextEdit作为其中的重要组件,支持丰富的文本编辑功能,如富文本格式、文本高亮和自定义样式等。PyQt5的流行性不仅在于其强大的功能,还在于其易用性和灵活性,使其成为开发复杂用户界面的理想选择。

简单的介绍:

python对跨平台的GUI工具集Qt的包装实现了620个类和6000函数及方法pyQt是作为python的插件实现的。

优点:

比较流行的一个TKinter的替代品,功能非常强大,可以用Qt开发多美漂亮的界面也就可以用pyqt开发多么漂亮的界面。跨平台的支持很好。

缺点:

小白学习中还没有发现,等发现更新~~哈哈

pyQt5的类存在与如下模块当中:

QtGui模块:

涵盖多种基本图形功能的类,包括但不限于:窗口集、事件处理、2D图形,基本的图像,界面和字体文本

QtCore模块:

涵盖了包括核心的非GUI的功能,此模块被用于处理程序中涉及到的time,文件,目录。数据类型。文本流,链接,mime、线程或进程等对象。

Qtwidgets模块:

包含了一整套UI元素组件,用于建立符合系统风格系统风格的classic界面,非常方便,可以在安装时选择是否使用此功能

QtMuLtimedia模块:

包含了一套类库,该类库被用于处理多媒体事件,通过调用API接口访问摄像头,语音设备,收发消息等

QtBluetooth模块:

包含了处理蓝牙活动的类库,它的功能包括扫描设备,连接,交互等行为(很厉害)

QtNetwork模块:

包含用于网络编程的类库,这组类程序通过提供便捷的TCP/IP及UDP的c/s程式码集合,使得基本于Qt的网络编程更容易

Qtpositioning模块:

用于获取位置信息,此模块允许使用多种方式达成定位,包括但不限于:卫星,无线网,文字信息。此应用一般用于网络地图定位系统

Enginio模块:

用于构建客户端的应用程序库,用于在运行时访问Qt Cloud服务器托管的应用程序

Qtwebsockets模块:

包含了一组类程序,用以实现websocket协议。

Qtwebkit模块:

包含了用于实现基于webkit2的网络浏览器的类库。

QtWebkitWidgets模块:

包含用于基于WebKit1的Web浏览器实现的类,用于基于QtWidgets的应用程序。

QtXml模块:

包含了用于处理XML的类库,此模块为SAX和DOM API的实现提供了方法。

QtSvg模块:

通过一组类,为显示矢量图形文件的内容提供了方法。

QtSql模块:

提供了数据库对象的接口以供使用。

QtTest模块:

包含了可以通过单元单元测试,以调试PyQt5应用程序的功能。

后续还有更新,哈哈哈~~

我来了,最近有点忙更新的慢,在自学中遇到了好多好多问题,不过慢慢都解决了

话不多说看看我这几天的成就(要是有什么不对的地方欢迎评论说明,谢谢啦!)

登陆界面

from

0759825e40ab4012fbf7c585d9845996.png

哈哈,这个就是我制作后运行的界面

我使用的是pycharm这个编辑器,感觉还不错,是别人推荐的,对于小白的我,我只会用他把python文件保存在什么地方,运行,我太难了,要是出问题,我采取了,小白采取的方法,卸载重装,哈哈~~

下面附上pycharm的官网

PyCharm: the Python IDE for Professional Developers by JetBrains​www.jetbrains.com
ad54c0e8c8f5d287da53788e101322ca.png

因为这个是国外的东西,所以全是英文,对于我这个四级没有考过的人,太难了,其实也好找一般只要看见download可以点击试试就是下载这个东西的地方

我在附上安装教程

https://jingyan.baidu.com/article/64d05a02f6dbbfde55f73be2.html​jingyan.baidu.com

不行了,已经深夜了,对于当代大学生,刻苦是应该的,但是身体重要,后续我在更新这个登录小程序每一行代码解释说明

等着我哦

我来了,下面我就开始进行个人理解的讲解

from PyQt5.Qt import *
from PyQt5.QtWidgets import (QApplication, QWidget, QPushButton, QTextEdit, QVBoxLayout)
import sys

先说一下怎么导入模块还有模块的方法吧

1、第一类导入库的方法&#xff1a;import<库名>

怎么使用方法&#xff1a;<库名>.<函数名>.<函数参数>

2、第二类导入库的方法&#xff1a;from<库名>import<函数名>

form<库名>import*

怎么使用方法&#xff1a;<函数名>&#xff08;<函数参数>&#xff09;

两种不同&#xff1a;第一种不会出现函数名的重名的问题

第二种方法是会出现的

PyQt5.Qt导入的模块很多&#xff0c;包括了Qtwidgets还有Qtcore模块&#xff0c;我这边写出现这个导入库的方法&#xff0c;是因为&#xff0c;更好的如这些库的方法&#xff0c;不会运行起来报错&#xff0c;因为发现自己的错误是很难的

下面这个导入的库是pyQt5.Qtwidgets这个 包含了一整套UI元素组件&#xff0c;用于建立符合系统风格系统风格的经典界面&#xff0c;之所以还是重复的写&#xff0c;是因为我才开始写就只用了这个库&#xff0c;后面发现不行&#xff0c;补了第一行的&#xff0c;太难了

def __int__(self):

定义类的时候&#xff0c;若是添加_init_方法&#xff0c;那么在创建类的实例的时候&#xff0c;实例会自动调用这个方法&#xff0c;一般用来对实例的属性进行初始化&#xff0c;实参self&#xff0c;它是一个指向实例本身的引用&#xff0c;让实例能够访问类中的属性和方法

self.setGeometry(300, 300, 400, 300)

方法self.setGeometry&#xff08;&#xff09;是设置窗口的大小和位置上面括号里的前两个参数是设置方位的&#xff0c;根据横轴还有纵轴来定位置的&#xff0c;其中&#xff08;0.0)这个位置在屏幕的最左角的地方&#xff0c;后面的两个参数是设置窗口大小&#xff0c;设置的后两个参数的第一个参数设置的长&#xff0c;下一个是宽

self.Le2 &#61; QLineEdit(self)#设置一个文本框对象
self.Le1.resize(160, 24)
self.Le1.move(145, 50)

先创建一个文本框的对象&#xff0c;后面第二行代码&#xff0c;resize&#xff08;&#xff09;方法设置文本框的大小&#xff0c;mov&#xff08;&#xff09;设置位置

if __name__ &#61;&#61; &#39;__main__&#39;:

这个写了这句话并将执行的语句放在这个判断语句后面&#xff0c;那么只有在程序本身被执行的时候才能运行这个判断语句下面的语句&#xff0c;否则程序被作为模块导入的时候就会执行

app &#61; QApplication(sys.argv)

每个PyQt5应用程序必须创建一个应用程序对象。 sys.argv参数是来自命令行的参数列表。 Python脚本可以从shell运行。 写了这句话就能让我们的程序从命令行启动。

self.show()
show&#xff08;&#xff09;方法在屏幕上显示窗口小部件。 一个小部件首先在内存中创建&#xff0c;然后在屏幕上显示。

sys.exit(app.exec_())
最后&#xff0c;我们进入应用程序的主循环(main loop)。 事件处理从这一点开始。 主循环(main loop)从窗口系统接收事件并将它们分派到应用程序小部件。 如果我们调用exit&#xff08;&#xff09;方法或者主窗口小部件被破坏&#xff0c;那么主循环(main loop)就会结束。

sys.exit&#xff08;&#xff09;方法确保一个干净的退出。

exec_&#xff08;&#xff09;方法有一个下划线。 这是因为exec是一个Python关键字。 因此&#xff0c;使用exec_&#xff08;&#xff09;。

下面我对代码又做了一些改进

668118581c8b77c5c54ba5fb760463e2.png

我都码了这么多字点个赞嘛&#xff0c;关注一波&#xff0c;后面我还会持续更新&#xff0c;想要代码可以私聊我&#xff0c;我手把手给您提供&#xff0c;哈哈哈~



推荐阅读
  • 深入理解Shell脚本编程
    本文详细介绍了Shell脚本编程的基础概念、语法结构及其在操作系统中的应用。通过具体的示例代码,帮助读者掌握如何编写和执行Shell脚本。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • 本文介绍了ArcXML配置文件的分类及其在不同服务中的应用,详细解释了地图配置文件的结构和功能,包括其在Image Service、Feature Service以及ArcMap Server中的使用方法。 ... [详细]
  • 本文介绍了一个基于 Java SpringMVC 和 SSM 框架的综合系统,涵盖了操作日志记录、文件管理、头像编辑、权限控制、以及多种技术集成如 Shiro、Redis 等,旨在提供一个高效且功能丰富的开发平台。 ... [详细]
  • 精选多款高效实用软件及工具推荐
    本文介绍并推荐多款高效实用的软件和工具,涵盖系统优化、网络加速、多媒体处理等多个领域,并提供安全可靠的下载途径。 ... [详细]
  • CentOS 7 磁盘与文件系统管理指南
    本文详细介绍了磁盘的基本结构、接口类型、分区管理以及文件系统格式化等内容,并提供了实际操作步骤,帮助读者更好地理解和掌握 CentOS 7 中的磁盘与文件系统管理。 ... [详细]
  • Windows服务与数据库交互问题解析
    本文探讨了在Windows 10(64位)环境下开发的Windows服务,旨在定期向本地MS SQL Server (v.11)插入记录。尽管服务已成功安装并运行,但记录并未正确插入。我们将详细分析可能的原因及解决方案。 ... [详细]
  • IT项目管理过程中的方法、工具、技术
    工欲善其事,必先利其器。而对于一个软件开发项目,最重要的器就是方法,工具和技术。而这三要素中重要的又是方法论,方法是基础&# ... [详细]
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
  • UNP 第9章:主机名与地址转换
    本章探讨了用于在主机名和数值地址之间进行转换的函数,如gethostbyname和gethostbyaddr。此外,还介绍了getservbyname和getservbyport函数,用于在服务器名和端口号之间进行转换。 ... [详细]
  • 360SRC安全应急响应:从漏洞提交到修复的全过程
    本文详细介绍了360SRC平台处理一起关键安全事件的过程,涵盖从漏洞提交、验证、排查到最终修复的各个环节。通过这一案例,展示了360在安全应急响应方面的专业能力和严谨态度。 ... [详细]
  • 掌握远程执行Linux脚本和命令的技巧
    本文将详细介绍如何利用Python的Paramiko库实现远程执行Linux脚本和命令,帮助读者快速掌握这一实用技能。通过具体的示例和详尽的解释,让初学者也能轻松上手。 ... [详细]
  • 编写了几个500行左右代码的程序,但基本上解决问题还是面向过程的思维,如何从问题中抽象出类,形成类的划分和设计,从而用面向对象的思维解决问题?有这方面的入门好书吗?最好是结合几个具体的案例分析的 ... [详细]
  • HTML基础入门指南
    本文将深入浅出地介绍HTML的基础知识,包括其定义、开发工具、制定机构、特性、基本标签及更多实用内容。 ... [详细]
  • java文本编辑器,java文本编辑器设计思路
    java文本编辑器,java文本编辑器设计思路 ... [详细]
author-avatar
书友33947127
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有