Python学习笔记-PyQt

news2025/7/19 17:09:05

记述PyQt的相关基本知识。

一、PyQt概述

PyQt是一个创建GUI应用程序的工具包。它是Python编程语言和Qt库的成功融合。Qt库是最强大的库之一。PyQt是由Phil Thompson 开发。

PyQt实现了一个Python模块集。它有超过300类,将近6000个函数和方法。它是一个多平台的工具包,可以运行在所有主要操作系统上,包括UNIX,Windows和Mac。 PyQt采用双许可证,开发人员可以选择GPL和商业许可。在此之前,GPL的版本只能用在Unix上,从PyQt的版本4开始,GPL许可证可用于所有支持的平台。

因为可用的类有很多,他们被分成几个模块。 QtCore模块包含核心的非GUI功能。该模块用于时间、文件和目录、各种数据类型、流、网址、MIME类型、线程或进程。QtGui模块包含图形组件和相关的类,例如按钮、窗体、状态栏、工具栏、滚动条、位图、颜色、字体等。QtNetwork模块包含了网络编程的类,这些类允许编写TCP/IP和UDP的客户端和服务器,他们使网络编程更简单,更轻便。QtXml包含使用XML文件的类,这个模块提供了SAX和DOM API的实现。QtSvg模块提供显示的SVG文件的类。可缩放矢量图形(SVG)是一种用于描述二维图形和图形应用程序的XML语言。QtOpenGL模块使用OpenGL库渲染3D和2D图形,该模块能够无缝集成Qt的GUI库和OpenGL库。QtSql模块提供用于数据库的类。

(以上参考百度百科)

二、第一个PyQt程序

1.一般开发流程

 2.HelloWorld

# _*_ coding:utf-8 _*_


# packages
import sys
from PyQt6.QtWidgets import QApplication,QWidget,QLabel
from PyQt6.QtGui import QIcon,QFont
from PyQt6.QtCore import Qt

class MainWindow(QWidget):
    """
    @ 说明:主窗体类
    """
    def __init__(self):
        """
        @ 主窗体构造函数
        """
        super().__init__()                                          # 调用父类构造函数
        self.setWindowTitle("Hello world.")                         # 设置标题
        self.setWindowIcon(QIcon("res/Entire Network.ico"))         # 设置图标

        lab = QLabel("Hello World.",self)                           # 创建label控件
        lab.resize(300,100)                                         # 设置标签尺寸
        lab.setFont(QFont("Times new roman",16))                    # 设置字体
        lab.setAlignment(Qt.AlignmentFlag.AlignCenter)              # 设置标签对齐方式

        self.show()                                                 #显示窗体

if __name__ == "__main__":
    app = QApplication(sys.argv)                                    # 创建应用程序,接收命令行参数列表
    window = MainWindow()                                           # 创建主窗体实体类
    sys.exit(app.exec())                                            # 程序结束后,调用sys.exit()释放资源

应用程序基本需要的类如下如下:

PyQt程序基本类
模块基本调用说明

PyQt6.QtWidgets

QApplication

QWidget

class MainWindow(QWidget):

窗体需要继承自QWidget

self.setWindowTitle("Hello world.") 

设置标题
self.setWindowIcon(QIcon("res/Entire Network.ico"))  

设置图标

PyQt6.QtGui

QIcon

QIcon("res/Entire Network.ico")

获取QIcon类

QFont

QFont("Times new roman",16)

获取字体属性,设置控件的文本字体

PyQt6.QtCore

Qt

Qt.AlignmentFlag.AlignCenter

PyQt的枚举参数

应用程序编辑基本需要这几个类,然后再添加具体的控件进行界面编辑。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

使用 kube-prometheus(release-0.6) 监控 Kubernetes v1.18.20

本文档是使用 kube-prometheus-stack[release-0.6] 来监控 kubernetes1.18.20,具体兼容性可以看这里:https://github.com/prometheus-operator/kube-prometheus/tree/release-0.6#kubernetes-compatibility-matrix 1 概述 1.1 在 k8s 中部署 Prometheus…

SpringBoot任务调度(官方案例)

在线文档项目结构 1.源码克隆:git clone https://github.com/spring-guides/gs-scheduling-tasks.git 2.包含两个项目initial和complete,initial可以根据文档练习完善,complete是完整项目 3.功能描述:构建应用程序,使用…

数据结构 - AVL树 (Adelson-Velsky and Landis Tree)

目录一、前言二、简介三、左旋与右旋四、AVL树的调整1、向AVL树中插入新数据1)LL型不平衡(右单旋转)2)RR型不平衡(左单旋转)3)LR型不平衡(左右双旋转)4)RL型不…

爆款短视频是怎样练成的:视频发布技巧,首次公开

剪辑好的优质短视频怎么发布才能成为爆款视频?短视频发布技巧公开 前面几篇我们讨论了短视频定位,怎么写文案脚本,怎么拍摄以及后期剪辑,至此我们一个优质的短视频已经制作完成,今天我们就聊一下下一个环节&#xff1…

Kafka Producer Retries Idempotence 原理

Kafka Producer Retries & Idempotence 原理 由于存在网络瞬时抖动;或者kafka集群短暂的不可用,会导致kafka producer发送消息出现异常,生产者无法将消息推送到topic,在这种情况下,消息丢失的可能性很高。因此kaf…

全排列思路

目录 省流版结论 推导过程 输出结果(元素数量为4时) 省流版结论 (程序来源:排列组合之——全排列(c语言)_rewrite!的博客-CSDN博客_全排列) 一晚上的时间,终于弄懂了。真羡慕计算…

基于标志点特征高精提取与匹配方法,进行双目、结构光、RGBD相机、单目相机多视拼接

1. 工作原理 人工张贴标志点变换位置拍照相邻照片的公共视野内有相同的标志点群匹配两张照片对应标志点对通过三对以上标志点对,实现两张照片间的坐标变换求解 2.标志点特征 圆形 分类: 编码(粘贴于被测物体表面):…

SpringBoot文件上传(官方案例)

在线文档项目结构 1.源码克隆:git clone https://github.com/spring-guides/gs-uploading-files.git 2.包含两个项目initial和complete,initial可以根据文档练习完善,complete是完整项目 3.功能描述:构建接受文件上传的应用程序&a…

转行人必看:数字IC前端设计学习路线与方法(内附学习视频)

众所周知,数字前端设计对于工程师的能力要求比较高,不仅有学历上的要求,还要求掌握很多的知识技能。不少跨专业想要转行的小伙伴对数字前端设计这个岗位不是很了解,下面IC修真院就带大家全面了解一下数字IC前端设计。 数字前端到…

酒水销售网站

开发工具(eclipse/idea/vscode等): 数据库(sqlite/mysql/sqlserver等): 功能模块(请用文字描述,至少200字): 网站前台:网站介绍、帮助信息、酒水资讯、酒水类型、酒水信息、购物分享 管理员: 1、管理网站介…

matlab源码说明

目录 1.MATLAB概述 2.MATLAB程序使用几个常规注意实现 2.1.运行过程可能出现Out of Memory的问题解决办法 2.2.保存大于2G的数据 2.3.程序运行方法 1.MATLAB概述 Matlab经过不断的发展和完善,如今已成为覆盖多个学科,是具有超强数值计算能力和仿真分析能力的软件。…

YOLOv5s.yaml文件解读

目录一、YOLOv5s.yaml内容二、详解2.1参数配置2.2 anchors2.3 backbone2.4 head三、如何调整模型一、YOLOv5s.yaml内容 YOLOv5配置了4种不同大小的网络模型,分别是YOLOv5s、YOLOv5m、YOLOv5l、YOLOv5x,其中YOLOv5s是网络深度和宽度最小但检测速度最快的…

资深车主才会告诉你的那些事,看完立省三万二

自动驾驶已经火了几年了。在某度一搜“自动驾驶”,全都是某某公司推出了自动驾驶,某某公司打算推出自动驾驶。当然,这两年因为各种事故的原因,“自动驾驶”被各种名词取代——辅助驾驶、高级辅助驾驶、领航辅助驾驶......这就有点…

以英雄之名为S9总决赛助攻! 虎牙直播and华为云CDN,team work才会赢

以英雄之名为S9总决赛助攻! 虎牙直播and华为云CDN,team work才会赢 你的朋友圈肯定经历过这样一波刷屏 啊啊!!!赢了祝贺!#FPX团灭G2#FPX夺冠啦!超帅超酷超级棒!我们是冠军!!!恭喜FPX!凤凰涅槃!FPX咋这么稳!实在太稳了!小凤凰一飞冲天 团灭!就两个字 就是感觉很厉害…

SimpleAdapter的简单使用

SimpleAdapter适配器的简单使用 1.SimpleAdapter 1.简介 显示复杂的列表项,如图片2.SimpleAdapter的构造函数 上下文数据(保存map的list集合)子布局key子布局中的id注意:key和id是一一对应的关系 3.SimpleAdapter案例-用户简介 3.…

Java面试常用,初级到高级(持续更新中....)

文章目录一、java基础1、基本类型2、String相关3、数组和list相互转换4、java中的锁5、常用的算法二、项目层面1、并发与并行的区别三、常见错误解决1、Java ConcurrentModificationException异常原因和解决方法2、 main中不能使用this四、底层的相关技术1、spring如何处理循环…

54.Python的def语句自定义函数

54.def语句自定义函数 文章目录54.def语句自定义函数1.课题导入—数学中的函数1.1 计算圆的面积1.2 计算不规则图形的面积2. 什么是函数3. 函数分类3.1 内置函数3.2 自定义函数4. 计算多个矩形的面积5. 自定义函数计算矩形的面积6.自定义函数的写法1.先写函数要实现的功能2.添加…

Android设计模式详解之策略模式

前言 定义:定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化。 使用场景: 针对同一类型问题的多种处理方式,仅仅是具体行为有差别时;…

电磁波的达朗贝尔方程 工程电磁场P25

我们有下述两个方程 记住一定是线性介质 称为电磁波的达朗贝尔方程,是两个非齐次方程 我们下面介绍达朗贝尔方程的解 我们就用最简单的场源举例 这个方程可以写成 动态位是r和时间的函数 我们可以在球坐标系下展开成 我们再做一下变换 现在如果在这个微分方程里面…

智牛股_第7章_OAuth2+Spring Security OAuth2+GateWay+Druid+Spring Data JPA

交易平台 - Day 7 文章目录交易平台 - Day 7学习目标第1章 OAUTH2统一认证1. 目标2. 分析3. 讲解3.1 传统登陆认证3.2 单点登陆认证3.3 OAuth2简介3.4 OAuth2角色3.5 OAuth2 协议流程3.6 授权类型3.7 授权码模式流程3.8 简化模式3.9 密码模式3.10 客户端模式3.11 Spring Securi…