PyQt5开发基础知识【一】

零.前言:

作者写这篇博客的目的主要在于巩固PyQt5的基础知识,例如PyQt5的几个核心模块,分别有什么功能,PyQt5所有控件的使用方法等。

一.PyQt5的常见模块

1.1QtCore:

该模块包含了非GUI的功能设计

这个模块被用来实现时间,文件和目录,不同数据类型,线程进程等。

(一个使用的例子,我们在QtDesigner中设计的窗口和我们在py中运行的窗口大小不一致,可以使用这个模块的方法来解决。)

1.2QtGui:

该模块主要用于窗口化的系统结构,事件处理,2D绘图,基本图形,字体和文本等。

1.3QtWidgets:

顾名思义,该模块负责提供一套UI元素来创建经典桌面风格用户界面。

1.4QtMultimedia:

该模块用于处理多媒体内容和链接摄像头和无线电功能API

1.5QtBlutooth:

该模块用于扫描蓝牙设备,并且和蓝牙进行互动

1.6QtNetwork:

该模块用来网络编程,模块里面包含的类使TCP/UDP客户端/服务端通信更加容易和轻便。

1.7QtXml:

该模块用于解析XML文件。

1.8QtSvg:

该模块用于显示svg文件内容。

1.9QtSql:

该模块提供驱动数据库工作。

1.10QtTest:

该模块提供PyQt5应用的单元测试

二.一个简单的Qt程序

import sys
from PyQt5.QtWidgets import QApplication, QWidgetif __name__ == '__main__':app = QApplication(sys.argv)w = QWidget()w.resize(1000, 600)w.move(300, 300)w.setWindowTitle('这是一个例子')w.show()sys.exit(app.exec_())

2.1QApplication(sys.argv):

每个应用程序必须创建一个应用程序对象,无论该应用程序在任何时间有几个窗口,都只能有一个QApplication对象。(至于sys.argv有啥用我也不懂,背过算了,搜了大量资料也看不明白是什么意思.)

2.2QWidget():

QWidget是PyQt5中所有控件的基类,同时Qwidget也没有父类,没有父类的部件也被叫做窗口

2.3resize():

该函数指定了窗口小部件(QWidget)的大小,resize(长,宽),单位是“像素”。

2.4move():

该函数将窗口小部件移动到屏幕上x,y坐标处的位置,也就是应用初次弹出在屏幕里的位置。

2.5setWindowTitle():

该函数顾名思义,设置窗口的标题。

2.6show():

该函数表示在屏幕中显示应用程序,如果不调用show方法,那么应用程序只会被创建但是不会在屏幕中显示

ps:(一个小部件要现在内存中创建,才能在屏幕中显示。)

2.7sys.exit(app.exec_()):

该函数保证应用程序有一个干净的退出。

其中sys.exit(状态码)直接退出主进程整个进程)。

app.exec()是结束窗口进程,但是不结束主进程,即还要执行关闭窗口之后的代码,返回一个状态码。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/526210.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

报错Importing ArkTS files to JS and TS files is not allowed. <etsLint>

ts文件并不支持导入ets文件,为了方便开发应用卡片,entryformAbility创建的时候默认是ts文件,这里只需要把ts文件改成ets便可以轻松的导入所需要的ets即可 我创建了一个鸿蒙开发的交流群,喜欢的鸿蒙朋友可以扫码或者写群号&#xf…

grafana table合并查询

注:本文基于Grafana v9.2.8编写 1 问题 默认情况下table展示的是一个查询返回的多个field,但是我想要的数据在不同的metric上,比如我需要显示某个pod的读写IO,但是读和写这两个指标存在于两个不同的metirc,需要分别查…

sentinel prometheus指标收集及资源规则正则表达式实现

sentinel 支持 prometheus 收集指标 实现原理 在 sentinel-extension 模块下,新增 sentinel-prometheus-metric-exporter 模块。依赖Prometheus 提供的 simpleclient 和 simpleclient_httpserver 来实现 exporter。 依赖 simpleclient 主要是为了实现自定义Collect…

网络编程套接字(3)——Java数据报套接字(UDP协议)

目录 一、Java数据报套接字通信模型 二、UDP数据报套接字编程 1、DatagramSocket (1)DatagramSocket构造方法 (2)DatagramSocket方法 2、DatagramPacket (1)DatagramPacket构造方法 (2&…

高吞吐SFTP连接池设计方案

背景 在现代的数据驱动环境中,安全文件传输协议(SFTP)扮演着至关重要的角色,它提供了一种安全、可靠的文件传输方式。我们目前项目是一个大型数据集成平台,跟上下游有很多文件对接是通过SFTP协议,当需要处…

考研数学——高数:重积分

直角坐标系下二重积分 助记1: 因为一重积分求出的是二维平面的面积,类比得到二重积分得到的是三维的体积 而用之前求旋转体体积的思路:已知截面面积可求得体积。来表示二重积分 在控制一个变量不变(x / y)时&#x…

基于人工智能自动问答客服系统

在计算机及网络技术的飞速发展的今天,学校教育单位词语管理信息化、网络化是必然的趋势。然而我们利用计算机和网络技术来开发关于聊天自动控制管理系统是必不可少的,使用这样的技术有利于实现场景词语自动执行,减轻管理员的工作负荷&#xf…

【Android 内存优化】KOOM 快手开源框架线上内存监控方案-源码剖析

文章目录 前言OOMMonitorInitTask.INSTANCE.initOOMMonitor.INSTANCE.startLoopsuper.startLoopcall() LoopState.Terminate dumpAndAnalysisdumpstartAnalysisService回到startLoop方法总结 前言 这篇文章主要剖析KOOM的Java层源码设计逻辑。 使用篇请看上一篇: 【Android …

实验二(一):IPV4编址及IPV4路由基础实验

一实验介绍 1.关于本实验 IPv4( Internet Protocol Version 4)是 TCP/IP 协议族中最为核心的协议之一。 它工作在 TCP/IP参考模型的网际互联层,该层与 OSI参考模型的网络层相对应。 网络层提供了无连接数据传输服务,即网络在发送分组时不需要先建立连…

深度学习在硬件和计算平台上的优化:实现更快、更高效的突破

引言 深度学习,作为机器学习领域的一个子集,通过模拟人脑神经元的连接方式,构建复杂的网络结构来处理和分析数据。然而,随着深度学习模型规模的不断扩大和复杂度的提高,其对计算资源的需求也呈指数级增长。因此&#…

远程连接Linux系统

图形化、命令行 对于操作系统的使用,有2种使用形式: 图形化页面使用操作系统 图形化:使用操作系统提供的图形化页面,以获得图形化反馈的形式去使用操作系统。 以命令的形式使用操作系统 命令行:使用操作系统提供的各…

OpenCV学习笔记(五)——图片的缩放、旋转、平移、裁剪以及翻转操作

目录 图像的缩放 图像的平移 图像的旋转 图像的裁剪 图像的翻转 图像的缩放 OpenCV中使用cv2.resize()函数进行缩放,格式为: resize_imagecv2.resize(image,(new_w,new_h),插值选项) 其中image代表的是需要缩放的对象,(new_w,new_h)表…