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



推荐阅读
  • 开发笔记:深入解析Android自定义控件——Button的72种变形技巧
    开发笔记:深入解析Android自定义控件——Button的72种变形技巧 ... [详细]
  • 掌握Android UI设计:利用ZoomControls实现图片缩放功能
    本文介绍了如何在Android应用中通过使用ZoomControls组件来实现图片的缩放功能。ZoomControls提供了一种简单且直观的方式,让用户可以通过点击放大和缩小按钮来调整图片的显示大小。文章详细讲解了ZoomControls的基本用法、布局设置以及与ImageView的结合使用方法,适合初学者快速掌握Android UI设计中的这一重要功能。 ... [详细]
  • 技术分享:深入解析GestureDetector手势识别机制
    技术分享:深入解析GestureDetector手势识别机制 ... [详细]
  • Java Web开发中的JSP:三大指令、九大隐式对象与动作标签详解
    在Java Web开发中,JSP(Java Server Pages)是一种重要的技术,用于构建动态网页。本文详细介绍了JSP的三大指令、九大隐式对象以及动作标签。三大指令包括页面指令、包含指令和标签库指令,它们分别用于设置页面属性、引入其他文件和定义自定义标签。九大隐式对象则涵盖了请求、响应、会话、应用上下文等关键组件,为开发者提供了便捷的操作接口。动作标签则通过预定义的动作来简化页面逻辑,提高开发效率。这些内容对于理解和掌握JSP技术具有重要意义。 ... [详细]
  • 本文详细介绍了 Sublime Text 3 在 2021 年的激活密钥及其在线激活方法。用户可以通过提供的链接访问云海天教程,获取更多详细的激活码信息和操作步骤。此外,文章还提供了安全可靠的激活方案,帮助用户顺利激活软件,提升编程效率。 ... [详细]
  • 端口转发(Port Forwarding)类似于服务重定向,许多路由器中也称其为虚拟服务器(Virtual Server)。通过合理配置端口转发,可以实现外部网络对内部网络中特定设备和服务的高效访问,从而提高通信效率和灵活性。此外,正确设置端口转发还能增强网络安全,确保只有授权的流量能够进入内网,有效防止未授权访问和潜在威胁。 ... [详细]
  • 在安卓中创建自定义SeekBar原文:https://www ... [详细]
  • 201820192 20175226王鹏雲 实验四《Android程序设计》实验报告
    2018-2019-220175226王鹏雲实验四《Android程序设计》实验报告实验报告封面课程:Java程序设计班级:1752班姓名: ... [详细]
  • pycharm如何下载包[pycharm使用教程]
    使用pycharm安装第三方库,打开pycharm>File>Settings>Project:Python>ProjectInterpreter> ... [详细]
  • 探索聚类分析中的K-Means与DBSCAN算法及其应用
    聚类分析是一种用于解决样本或特征分类问题的统计分析方法,也是数据挖掘领域的重要算法之一。本文主要探讨了K-Means和DBSCAN两种聚类算法的原理及其应用场景。K-Means算法通过迭代优化簇中心来实现数据点的划分,适用于球形分布的数据集;而DBSCAN算法则基于密度进行聚类,能够有效识别任意形状的簇,并且对噪声数据具有较好的鲁棒性。通过对这两种算法的对比分析,本文旨在为实际应用中选择合适的聚类方法提供参考。 ... [详细]
  • 本文深入解析了Bitmap与Byte数组之间高效转换的方法,探讨了不同场景下的最优实现策略,提供了详尽的代码示例和性能对比分析,旨在帮助开发者在图像处理和数据传输中提升效率和减少资源消耗。 ... [详细]
  • 前两天在做一个项目XXX的时候,遇见一个问题,在页面中需要接入企业的QQ,在查找腾讯API后无果,则请求人工服务࿰ ... [详细]
  • 深入研究虚幻4反射系统实现原理(一)
    上一篇翻译的文章里面提到了UE4反射系统的基本原理与应用,这次我们通过代码来深入研究一下UE4的反射系统,因为反射系统在UE4中牵扯的东西较多,所以我打算分几篇文章分析。我这里假定 ... [详细]
  • 本文实例讲述了Android调用手机拍照功能的方法。分享给大家供大家参考。具体如下:一、main.xml布局文件:android:orientation ... [详细]
  • 课程简介和学习安排1-1强力django+杀手级xadmin打造上线标准的在线教育平台试看第2章开发环境搭建-linux本章节将会带领大家在windows上通过虚拟机安装linux ... [详细]
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社区 版权所有