Python教程:PyQt5需要学习,哪些知识点??

news2024/11/25 12:26:53

PyQt5是基于图形程序框架Qt5的Python语言实现,由一组Python模块构成。它可用于Python 2和3,拥有超过620个类和6000个函数和方法。这是一个跨平台的工具包,可以运行在所有主要的操作系统,包括UNIX、Windows、Mac OS、Linux等。

#我的Python教程
#官方微信公众号:wdPython

1.学习PyQt5,你需要掌握的以下知识点:

GUI编程基础:了解图形用户界面 (GUI) 编程的基本概念和原理,包括窗口、控件、布局等。

PyQt5模块:熟悉 PyQt5 的各个模块和类,例如 QtWidgets、QtCore、QtGui 等。

信号与槽机制:了解 PyQt5 中的信号与槽机制,它是实现控件之间通信的重要方式。

布局管理:学会使用布局管理器来设计和组织界面,例如 QVBoxLayout、QHBoxLayout 等。

事件处理:掌握处理用户交互事件的方法,例如按钮点击、鼠标移动等。

绘图与绘制:了解如何在 PyQt5 中进行绘图和绘制基本图形。

数据库集成:学习如何在 PyQt5 中集成数据库操作,例如 SQLite、MySQL 等。

多线程编程:熟悉在 PyQt5 中实现多线程编程的方法。

打包发布:了解如何打包和发布 PyQt5 应用程序,使其可以在其他计算机上运行。

2.创建桌面应用程序的基本框架,五个步骤:

创建应用程序——创建窗口——把需要的控件放到窗口上,并告诉它们当有预期的事件发生时就执行预设的动作——显示窗口——应用程序进入事件处理主循环


import sys
from PyQt5.QtWidgets import QApplication, QWidget,QLabel
from PyQt5.QtGui import QIcon,QFont

app = QApplication(sys.argv) # 第1步:创建应用程序
win = QWidget() # 第2步:创建窗口

# 第3步:显示PyQt5系列教程!!,添加程序功能
win.setWindowTitle('我的Python教程,微信公众号:wdPython')
#win.setWindowIcon(QIcon('花.ico'))
win.resize(400,80)
win.move(300, 300)
Label = QLabel('这是我的PyQt5系列教程!!', win)
Label.setFont(QFont('楷体',18,QFont.Weight.Bold))

win.show() # 第4步:显示窗口
app.exec() # 第5步:应用程序进入事件处理主循环

在这里插入图片描述
3.Qt库中的一些常见模块:

QtCore:提供了基本的非GUI类,如字符串、容器、事件循环、定时器和基本的IO等。

QtGui:提供了GUI类,如窗口、按钮、文本框、列表和图形等。

QtWidgets:提供了标准的桌面GUI部件,如菜单、工具栏、状态栏和对话框等。

QtMultimedia:提供了多媒体类,如音频和视频播放器、录音器和摄像头等。

QtNetwork:提供了网络类,如HTTP和FTP客户端、TCP和UDP套接字等。

QtSql:提供了数据库类,如SQL查询和结果集等。

QtXml:提供了XML处理类,如DOM和SAX解析器等。

QtOpenGL:提供了OpenGL绘图类,如渲染器和着色器等。

QtWebKit:提供了基于Chromium浏览器内核的类和函数,用于显示Web内容。

QtQuick:提供了基于QML的声明性UI框架,用于创建动态和流畅的用户界面。

QtSerialPort:提供了串行端口通信类,如串口读取和写入等。

QtSensors:提供了传感器访问类,如加速度计、陀螺仪和磁力计等。

QtBluetooth:提供了蓝牙设备访问类,如蓝牙扫描和连接等。

QtNFC:提供了NFC设备访问类,如NFC读写和连接等。

Qt3D:提供了近实时仿真系统的功能,支持2D和3D渲染。

QtCanvas3D:提供了OpenGL-like 3D绘图调用,用于在使用了JS的quick应用程序中绘制3D图形。

QtConcurrent:提供了并发和多线程编程的工具和API。

QtPositioning:提供了定位服务类,如GPS和Wi-Fi定位等。

QtPurchasing:提供了购买和许可管理的类和函数。

QtRemoteObjects:提供了远程对象通信的类和API,用于在不同设备和进程之间进行通信。

QtScript:提供了脚本编程的类和函数,如JavaScript解释器和编译器等。

QtSvg:提供了SVG图形渲染的类和函数。

QtTest:提供了单元测试和性能测试的类和函数。

QtWebChannel:提供了Web和C++之间的通信通道,用于在Web应用程序和本地C++应用程序之间进行通信。

QtWebEngineCore:提供了基于Chromium的Web引擎的核心类和函数,用于显示Web内容。

QtWebEngineWidgets:提供了基于Chromium的Web引擎的部件类和函数,用于在Qt Widgets应用程序中显示Web内容。

QtXmlPatterns:提供了XML模式验证和查询的类和函数,如XQuery和XPath解析器等。

QtCharts:提供了在静态或动态数据模型驱动下显示图表的UI组件。

QtDataVisualization:用于创建三维数据可视化的UI组件。

QtVirtualKeyboard:一个实现不同输入方法和QML虚拟键盘的模块,支持本地化的键盘布局和定制的视觉主题。

QtActiveQt:用于Windows平台下使用ActiveX和COM的类。

4.学会使用QtDesigner控件
在这里插入图片描述
**1. Layouts(布局):**用于管理和组织控件位置和大小的控件。它们可以自动调整控件的大小和位置,以适应不同的窗口大小和分辨率。

Vertical Layout(垂直布局):将控件垂直排列,从上到下依次放置。

Horizontal Layout(水平布局):将控件水平排列,从左到右依次放置。

Grid Layout(网格布局):将控件放置在一个网格中,可以指定行数和列数,以及每个单元格中控件的大小和位置。

Form Layout(表单布局):将控件放置在一个表单中,可以指定每行中控件的对齐方式和间距。

Splitter(分割器):将窗口分割成多个区域,每个区域中可以放置一个或多个控件。用户可以通过拖动分割线来调整每个区域的大小。

**2. Spacers(间隔器):**一种特殊的控件,用于在布局中创建空白区域或调整控件之间的间距。它们没有可视化的表示,只是在布局中占据一定的空间。可以选择Horizontal Spacer工具来插入一个水平间隔器,或选择Vertical Spacer工具来插入一个垂直间隔器。

**3. Buttons(按钮)**用于触发操作或事件的控件。它们通常用于启动、停止、暂停、继续等操作,或用于选择、切换、确认、取消等选项。以下是一些常见的Buttons:

Push Button(常规按钮):最常见的按钮类型,用于触发一个操作或事件。

Tool Button(工具按钮):通常与菜单项或工具栏一起使用,用于快速访问常用功能。

Radio Button(单选按钮):用于在一组选项中选择一个选项。

Check Box(复选框):用于在一组选项中选择多个选项。

Command Link Button(命令链接按钮):类似于常规按钮,但具有一个文本标签和一个图标,通常用于显示一个命令或链接。

Dialog Button Box(对话框按钮盒):用于在对话框中添加一组标准按钮,例如“确定”、“取消”、“应用”等。

4.Item Views (Model-Based):是指基于模型的项视图控件组,主要包括一些用于显示和编辑数据的控件,如Table View(表格视图)、List View(列表视图)、Tree View(树形视图)等。

Table View(表格视图):用于显示二维表格数据,可以自定义表格的列数、行数、列标题等属性,也可以对表格中的数据进行编辑、排序、过滤等操作。

List View(列表视图):用于显示一维列表数据,可以自定义列表的列数、列标题等属性,也可以对列表中的数据进行编辑、排序、过滤等操作。

Tree View(树形视图):用于显示树形结构数据,可以自定义树的列数、列标题、节点图标等属性,也可以对树中的数据进行编辑、排序、过滤等操作。

  1. Item Widgets (Item-Based) 是指基于项的控件组,主要包括一些用于显示和编辑数据的控件,以下是一些常见的Item Widgets (Item-Based)控件:

List Widget(列表控件):用于显示一维列表数据,可以自定义列表的列数、列标题等属性,也可以对列表中的数据进行编辑、排序、过滤等操作。

Tree Widget(树形控件):用于显示树形结构数据,可以自定义树的列数、列标题、节点图标等属性,也可以对树中的数据进行编辑、排序、过滤等操作。

Table Widget(表格控件):用于显示二维表格数据,可以自定义表格的列数、行数、列标题等属性,也可以对表格中的数据进行编辑、排序、过滤等操作。

6.Containers(容器)是指用于组织和容纳其他控件的控件组。容器控件可以作为其他控件的父控件,管理子控件的位置、大小、布局等属性。以下是一些常见的Containers:

Group Box(分组框):用于将一组相关的控件组合在一起,并添加一个标题。

Tab Widget(选项卡控件):用于将多个控件分组在不同的选项卡中,可以通过单击选项卡来切换不同的控件组。

DockWidget(停靠窗口):用于创建一个可以停靠或浮动的窗口,可以包含其他控件。

ScrollArea(滚动区域):用于创建一个可以滚动的区域,可以包含其他控件。

Frame(框架):用于创建一个简单的框架,可以作为其他控件的容器。

**7.Input Widgets(输入控件)**用于接收用户输入或提供选项的控件组。

Combo Box(编辑组合框):允许用户从一个下拉列表中选择一个选项,也可以接受文本输入。

Font Combo Box(字体组合框):允许用户选择一个字体

Line Edit(行编辑框):允许用户输入和编辑一行纯文本或密码文本。

Text Edit(文本编辑框):允许用户输入和编辑多行纯文本。

Plain Text Edit(多行文本编辑框):允许用户输入和编辑多行纯文本,常用于编辑邮件、日记、代码等。

Spin Box(整数旋转框):允许用户通过点击向上或向下箭头来选择一个整数值。

Double Spin Box(小数旋转框):允许用户通过点击向上或向下箭头来选择一个小数值。

Time Edit(时间编辑框):允许用户选择一个时间值。

Date Edit(日期编辑框):允许用户选择一个日期值。

Date Time Edit(日期时间编辑框):允许用户选择一个日期和时间值。

**8. Display Widgets(显示控件)**是指用于显示信息或提供用户交互的控件组。常见的Display Widgets组件:

Label(标签):用于显示文本或图片信息。

LCD Number(液晶数字显示框):用于显示数字信息,可以自定义数字的格式和精度。

Progress Bar(进度条):用于显示任务的进度信息。

Graphics View(图形视图):用于显示2D或3D图形信息,可以自定义图形的样式和交互方式。

Calendar Widget(日历控件):用于显示日期信息,并允许用户选择日期。

Font Dialog(字体对话框):用于显示字体信息,并允许用户选择字体。

Color Dialog(颜色对话框):用于显示颜色信息,并允许用户选择颜色。

完毕!!感谢您的收看

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

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

相关文章

打开英雄联盟缺少d3dcompiler_43.dll有哪些处理方法

五招步骤解决电脑d3dcompiler_43.dll文件丢失的问题! 在使用电脑软件的过程中,我们可能会遇到一些奇怪的问题。其中之一就是打开某些软件时,系统提示找不到d3dcompiler_43.dll文件。这个错误通常出现在使用DirectX 11的应用程序中&#xff0…

CCF CSP认证 历年题目自练Day19

题目一 试题编号: 201812-1 试题名称: 小明上学 时间限制: 1.0s 内存限制: 512.0MB 问题描述: 题目背景   小明是汉东省政法大学附属中学的一名学生,他每天都要骑自行车往返于家和学校。为了能尽可能充…

力扣刷题-哈希表-求两个数组的交集Ⅱ

350. 两个数组的交集 II 给你两个整数数组 nums1 和 nums2 ,请你以数组形式返回两数组的交集。返回结果中每个元素出现的次数,应与元素在两个数组中都出现的次数一致(如果出现次数不一致,则考虑取较小值)。可以不考虑…

【C语言】模拟实现strcpy

strcpy是常用的字符串函数 目录 介绍&#xff1a;模拟实现&#xff1a; 介绍&#xff1a; 我们可以知道此函数是为了拷贝字符串的 代码示例&#xff1a; #include<string.h>int main() {char str1[20] { 0 };char str2[] "hello world";strcpy(str1, str2)…

2023.10.01 homework

一个小数&#xff0c;小数位乘以3等于10.8&#xff0c;小数位乘以7等于13.2&#xff0c;求小数&#xff08;题目不是很严谨&#xff09;

自定义类型:结构体、位段、枚举、联合

文章目录 前言1. 结构体a. 关键字&#xff1a;structb. 结构体基础知识&#xff1a;c. 结构体声明&#xff1a;d. 特殊的声明e. 结构的自引用f. 结构体变量的定义与初始化<font color red>g. 结构体内存对齐h. 结构体传参 2. 位段a. 设计目的&#xff1a;节省空间b. 什么…

黑马程序员RabbitMQ入门到实战教程【高级篇】学习笔记

目录 一、发送者的可靠性 1.1、生产者重试机制 1.2、生产者确认机制 1.3、实现生产者确认 1.3.1、开启生产者确认 1.3.2、定义ReturnCallback 1.3.3、定义ConfirmCallback 二、MQ的可靠性 2.1、数据持久化 2.1.1.交换机持久化 2.1.2、队列持久化 2.1.3、消息持久化…

正则表达式 Regular Expression学习

该文章内容为以下视频的学习笔记&#xff1a; 10分钟快速掌握正则表达式_哔哩哔哩_bilibili正则表达式在线测试工具&#xff1a;https://regex101.com/, 视频播放量 441829、弹幕量 1076、点赞数 19330、投硬币枚数 13662、收藏人数 26242、转发人数 2768, 视频作者 奇乐编程学…

红包雨高并发压测记录(200台机器压测实录)

压测5000线程10秒内循环5次&#xff0c;5台2核心4线程的机器&#xff0c;QPS2500&#xff0c;每台机器需要承受500的QPS 压测10000线程10秒内循环5次&#xff0c;10台2核心4线程的机器&#xff0c;QPS5000&#xff0c;每台机器需要承受500的QPS 压测200000线程10秒内循环5次&am…

Overloud TH-U Complete for Mac:演绎您的音乐世界

Overloud TH-U Complete for Mac是一款功能强大的吉他谱曲软件&#xff0c;可以让您在Mac电脑上轻松进行吉他模拟、录音和混音等操作&#xff0c;创作属于自己的音乐作品。 Overloud TH-U Complete for Mac提供了丰富的吉他模拟和音效库&#xff0c;涵盖了多种吉他放大器、箱体…

SpringCloud(一)Eureka、Nacos、Feign、Gateway

文章目录 概述微服务技术对比 Eureka服务远程调用服务提供者和消费者Eureka注册中心搭建注册中心服务注册服务发现Ribbon负载均衡负载均衡策略饥饿加载 NacosNacos与Eureka对比Nacos服务注册Nacos服务分集群存储NacosRule负载均衡服务实例权重设置环境隔离 Nacos配置管理配置热…

GD32F103x 定时器

1. 定时器的基本介绍 STM32的定时器主要分为三种&#xff1a;高级定时器、通用定时器、基本定时器。 即&#xff1a;高级定时器具有捕获/比较通道和互补输出&#xff0c;死区时间&#xff0c;通用定时器只有捕获/比较通道&#xff0c;基本定时器没有以上两者。 1. 基本定时…

【图像处理】【应用程序设计】加载,编辑和保存图像数据、图像分割、色度键控研究(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

minikube如何设置阿里云镜像以及如何解决dashboard无法打开的解决方案_已设置图床

minikube如何设置阿里云镜像以及如何解决dashboard无法打开的解决方案 minikube dashboard报错 considerconsider-Dell-G15-5511:~$ minikube dashboard &#x1f914; 正在验证 dashboard 运行情况 ... &#x1f680; 正在启动代理... &#x1f914; 正在验证 proxy 运行…

LabVIEW工业虚拟仪器的标准化实施

LabVIEW工业虚拟仪器的标准化实施 创建计算机化的测试和测量系统&#xff0c;从计算机桌面控制外部测量硬件设备&#xff0c;以及在计算机屏幕上显示的类似仪器的面板上查看来自外部设备的测试或测量数据&#xff0c;所有这些都需要虚拟仪器系统软件。该软件允许用户执行所有这…

链表经典面试题(四)

分割链表 1.题目2.详细的图文分析3.详细的注释和代码 1.题目 2.详细的图文分析 我们会定义4个指向分割链表的指向指针,分别来表示两个链表的头和尾 并且将数据一一的放到两个链表中,最后再将它们串起来,代码中有详细注释. 3.详细的注释和代码 public class Partition {public…

【C语言】模拟实现strcat

strcat在小白看来是一个比较陌生的库函数&#xff0c;但也要牢牢掌握 目录 介绍&#xff1a;模拟实现&#xff1a; 介绍&#xff1a; str代表字符串&#xff0c;那么cat代表什么&#xff1f; 他代表Catenate&#xff0c;连接的缩写&#xff0c;也就是追加字符串的意思 代码示例…

海信电视U8KL使用体验:参数卷,画质技术也独有!

每个家庭成员对电视都有不同需求&#xff0c;如何能做到兼顾&#xff1f;看似需求众口难调&#xff0c;其实一台海信电视就能满足所有啦。 海信电视的参数不仅是最卷的&#xff0c;同时画质技术还是国内独有的&#xff0c;能把这样一台优秀的电视搬回家&#xff0c;无论电影、…

拒绝水文!八大排序(三)【适合初学者】快速排序

文章目录 快速排序递归实现霍尔法优化 挖坑法前后指针法 快速排序非递归 大家好&#xff0c;我是纪宁&#xff0c;这篇文章将向大家介绍非常有名气的一款排序&#xff1a;快速排序 回忆到我们刚开始学习C语言的时候。经常会使用到一个库函数&#xff1a; qsort函数 &#xff0…

【JVM】垃圾回收(GC)详解

垃圾回收&#xff08;GC&#xff09;详解 一. 死亡对象的判断算法1. 引用计数算法2. 可达性分析算法 二. 垃圾回收算法1. 标记-清除算法2. 复制算法3. 标记-整理算法4. 分代算法 三. STW1. 为什么要 STW2. 什么情况下 STW 四. 垃圾收集器1. CMS收集器&#xff08;老年代收集器&…