热门标签 | 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;哈哈哈~



推荐阅读
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社区 版权所有