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

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,QFontapp = 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.mzph.cn/news/93134.shtml

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

相关文章

vue3学习实战

vue3新增变化 diff算法变化 vue3的diff算法没有vue2的头尾、尾头之间的diff,对diff算法进行了优化,最长递归子序列。 ref VS reactive ref 支持所有的类型,reactive 支持引用类型,array object Map Setref取值、赋值&#xff…

步力宝科技爆款产品定位,开创智能物联网新商业

数据显示,中国处于 “亚健康”状态人口数量约占总人口的70%,亚健康是一种临界状态,指介于健康和疾病之间的状态。亚健康是一个动态演变的过程,既有向慢病发展的趋势,也能通过合理的干预使人体重返健康状态,…

奥斯卡·王尔德

奥斯卡王尔德 奥斯卡王尔德(Oscar Wilde,1854年10月16日—1900年11月30日),出生于爱尔兰都柏林,19世纪英国(准确来讲是爱尔兰,但是当时由英国统治)最伟大的作家与艺术家之一&#xf…

【RuoYi项目分析】在RuoYi网关实现验证码功能

文章目录 1. 验证码功能的类清单2. 验证码的实现2.1. 验证码的获取2.2. 验证码的校验 3. 总结4. 资料参考 本文主要介绍了用户如何实现验证码,以及该功能如何与 Spring Gateway 联系起来。 1. 验证码功能的类清单 类功能CaptchaProperties验证码的 yml 配置Captcha…

25-多线程

多线程 线程(Thread)是一个程序内部的一条执行流程。 程序中如果有一条执行流程,那这个程序就是单线程的程序 多线程是指从软硬件上实现的多条执行流程的技术(多条线程由CPU负责调度执行)。 再例如:消息通信、淘宝、京东系统都离…

【Flink】

事件驱动型应用 核心目标:数据流上的有状态计算 Apache Flink是一个框架和分布式处理引擎,用于对无界或有界数据流进行有状态计算。 运行逻辑 状态 把流处理需要的额外数据保存成一个“状态”,然后针对这条数据进行处理,并且更新状态。这就是所谓的“…

c# 中的类

反射 Activator.CreateInstance class Program {static void Main(string[] args){//反射Type t typeof(Student);object o Activator.CreateInstance(t, 1, "FJ");Student stu o as Student;Console.WriteLine(stu.Name);//动态编程dynamic stu2 Activator.Cre…

在 Windows 终端运行已有的 Python 程序

在同一个路径下,输入全名,如图:

【Spring Cloud】Ribbon 实现负载均衡的原理,策略以及饥饿加载

文章目录 前言一、什么是 Ribbon二、Ribbon 实现负载均衡的原理2.1 负载均衡的流程2.2 Ribbon 实现负载均衡的源码剖析 三、Ribbon 负载均衡策略3.1 负载均衡策略3.2 演示 Ribbon 负载均衡策略的更改 四、Ribbon 的饥饿加载4.1查看 Ribbon 的懒加载4.2 Ribbon 的饥饿加载模式 前…

开放式耳机怎么选择、300之内最好的耳机推荐

开放式耳机凭借不入耳、不伤耳、安全更舒适的佩戴体验,得到了越来越多音乐爱好者和专业人士的青睐。开放式耳机不需要插入耳道,在佩戴时可以更加自然和轻松,减少了长时间佩戴引起的不适感,而且不会完全隔绝外界声音,用…

【VIM】VIM配合使用的工具

6-1 课程总结-vim虐我千百遍,我待 vim 如初恋_哔哩哔哩_bilibili

Koa处理请求数据

在开发中,后端接收到请求参数后,需要解析参数。请求分为很多种类型,比如常见的get和post。 请求参数 Koa本身可以解析get请求参数,不能解析post请求参数。例如: router.get(/api/get/userInfo, async (context) >…

多目标平衡优化器黏菌算法(MOEOSMA)求解CEC2020多模式多目标优化

多目标平衡优化器黏菌算法(MOEOSMA)比现有的多目标黏菌算法具有更好的优化性能。在MOEOSMA中,动态系数用于调整勘探和开采趋势。采用精英存档机制来促进算法的收敛性。使用拥挤距离法来保持Pareto前沿的分布。采用平衡池策略模拟黏菌的协同觅…

手机号码格式校验:@PhoneQuery(作为查询参数)(自定义参数校验注解)

目标 自定义一个用于校验(作为查询参数的)手机号码格式的注解PhoneQuery,能够和现有的 Validation 兼容,使用方式和其他校验注解保持一致。 校验逻辑 可以为 null 或 空字符串;不能包含空格;必须为数字序…

编程前置:怎么知道一句话的重点?

怎么知道一句话的重点&#xff1f; <small> 之所以要这个问题&#xff0c;是因为① 对标题进行分词 ② 找到标题中的重点词 ③ 然后找到主题中唯一的词语 ④ 然后对这个词语进行绘图说和看&#x1f440;来看&#x1f440;去&#xff0c;也就是文字成图的步骤啦&#xff…

【Spring Cloud】基于 Feign 实现远程调用,深入探索 Feign 的自定义配置、性能优化以及最佳实践方案

前言 在微服务架构中&#xff0c;服务之间的通信是至关重要的&#xff0c;而远程调用则成为实现这种通信的一种常见方式。在 Java 中&#xff0c;使用 RestTemplate 是一种传统的远程调用方式&#xff0c;但它存在一些问题&#xff0c;如代码可读性差、编程体验不一致以及参数…

如何实现电脑语音输入功能?

现在的手机都具备语音输入功能&#xff0c;并且识别率非常高&#xff0c;语音输入是目前最快速的文字输入方式&#xff0c;但是电脑上却无语音输入的功能&#xff0c;那么如何实现在电脑端也可进行语音输入的梦想呢&#xff1f;现在介绍一款小工具“书剑电脑语音输入法”&#…

Codeforces Round 901 (Div. 1) B. Jellyfish and Math(思维题/bfs)

题目 t(t<1e5)组样例&#xff0c;每次给出a,b,c,d,m(0<a,b,c,d,m<2的30次方) 初始时&#xff0c;(x,y)(a,b)&#xff0c;每次操作&#xff0c;你可以执行以下四种操作之一 ①xx&y&#xff0c;&为与 ②xx|y&#xff0c;|为或 ③yx^y&#xff0c;^为异或 …

背包问题

目录 开端 01背包问题 AcWing 01背包问题 Luogu P2925干草出售 Luogu P1048采药 完全背包问题 AcWing 完全背包问题 Luogu P1853投资的最大效益 多重背包问题 AcWing 多重背包问题 I AcWing 多重背包问题 II Luogu P1776宝物筛选 混合背包问题 AcWing 混合背包问题…

QCefView 简介

什么是QCefView QCefView 是为 Qt 开发的一个封装集成了CEF(Chromium Embedded Framework)库的Wdiget UI组件。使用QCefView可以充分发挥CEF丰富强大的Web能力&#xff0c;快速开发混合架构的应用程序。它不需要开发者理解CEF的细节&#xff0c;能够在Qt中更容易的使用CEF&…