PyQT5 简介

PyQT5 背景

Qt(音同 cute)是一个跨平台的 C++ 开发库,主要用来开发图形用户界面(Graphical User Interface,GUI)程序,当然也可以开发不带界面的命令行(Command User Interface,CUI)程序。
但Qt 是纯 C++ 开发的
PyQt5是基于图形程序框架Qt5的Python语言实现,由一组Python模块构成。

PyQt5的官方网站是:https://www.riverbankcomputing.com/static/Docs/PyQt5/



常用模块

PyQt5的类别分为几个模块,包括:

  • QtCore:包含非核心的GUI功能,此模块用于处理时间、文件和目录、各种数据类型、流、URL、MIME类型、线程或进程
  • QtGui:包括窗口系统集成、事件处理、二维图形、基本成像、字体和文本
  • QtWidgets:基本控件都位于pyqt5.qtwidgets模块中,模块包含创造经典桌面风格的用户界面提供了一套UI元素的类
  • QtMultimedia:包括的类来处理多媒体内容和API来访问相机和录音机的功能
  • Qtbluetooth:模块包含类的扫描设备和连接并与他们互动。描述模块包含了网络编程的类。这些类便于TCP和IP和UDP客户端和服务器的编码,使网络编程更容易和更便携。
  • Qtpositioning:包含类的利用各种可能的来源,确定位置,包括卫星、Wi-Fi、或一个文本文件。
  • Enginio:模块实现了客户端库访问Qt云服务托管的应用程序运行时。
  • Qtwebsockets:模块包含实现WebSocket协议类。
  • QtWebKit:包含一个基于Webkit2图书馆Web浏览器实现类。
  • Qtwebkitwidgets:包含的类的基础webkit1一用于qtwidgets应用Web浏览器的实现。
  • QtXml:包含与XML文件的类。这个模块为SAX和DOM API提供了实现。
  • QtSvg:模块提供了显示SVG文件内容的类。可伸缩矢量图形(SVG)是一种描述二维图形和图形应用的语言。
  • QtSql:模块提供操作数据库的类。
  • QtTest:包含的功能,使pyqt5应用程序的单元测试


主要类

  • QObject类:在类层次结构中是顶部类(Top Class),它是所有PyQt对象的基类。

  • QPaintDevice类:所有可绘制的对象的基类。

  • QApplication类:用于管理图形用户界面应用程序的控制流和主要设置。它包含主事件循环,对来自窗口系统和其他资源的所有事件进行处理和调度;它也对应用程序的初始化和结束进行处理,并且提供对话管理;还对绝大多数系统范围和应用程序范围的设置进行处理。

  • QWidget类:所有用户界面对象的基类。QDialog类和QFrame类继承自QWidget类,这两个类有自己的子类系统(Sub-Class System)。

  • QFrame类:有框架的窗口控件的基类。它也被用来直接创建没有任何内容的简单框架,但是通常要用到QHBox或QVBox,因为它们可以自动布置放到框架中的窗口控件。

  • QMainWindow类:提供一个有菜单栏、锚接窗口(如工具栏)和状态栏的主应用程序窗口。

  • QDialog类:最普通的顶级窗口。如果一个窗口控件没有被嵌入到父窗口控件中,那么该窗口控件就被称为顶级窗口控件。在通常情况下,顶级窗口控件是有框架和标题栏的窗口。在Qt中,QMainWindow和不同的QDialog的子类是最普通的顶级窗口。

上面的类图是使用UML建模工具Edraw UML Diagram绘制的。比如在图A-2所示的类图中,每一个方框代表一个PyQt 5的类,在方框的第一行显示的是类名,方框之间通过符号表示类与类之间的继承关系。继承指的是一个类(称为子类)继承另一个类(称为父类)的功能,通过继承可以增加子类的新功能。



常用控件

  • QLabel控件:用来显示文本或图像。

  • QLineEdit窗口控件:提供了一个单页面的单行文本编辑器。

  • QTextEdit窗口控件:提供了一个单页面的多行文本编辑器。

  • QPushButton窗口控件:提供了一个命令按钮。

  • QRadioButton控件:提供了一个单选钮和一个文本或像素映射标签。

  • QCheckBox窗口控件:提供了一个带文本标签的复选框。

  • QspinBox控件:允许用户选择一个值,要么通过按向上/向下键增加/减少当前显示值,要么直接将值输入到输入框中。

  • QScrollBar窗口控件:提供了一个水平的或垂直的滚动条。

  • QSlider控件:提供了一个垂直的或水平的滑动条。

  • QComboBox控件:一个组合按钮,用于弹出列表。

  • QMenuBar控件:提供了一个横向菜单栏。

  • QStatusBar控件:提供了一个适合呈现状态信息的水平条,通常放在QMainWindow的底部。

  • QToolBar控件:提供了一个工具栏,可以包含多个命令按钮,通常放在QMainWindow的顶部。

  • QListView控件:可以显示和控制可选的多选列表,可以设置ListMode或IconMode。

  • QPixmap控件:可以在绘图设备上显示图像,通常放在QLabel或QPushButton类中。

  • Qdialog控件:对话框窗口的基类。

  • QWidget是所有用户界面类的基类,它能接收所有的鼠标、键盘和其他系统窗口事件。没有被嵌入到父窗口中的Widget会被当作一个窗口来调用,当然,它也可以使用setWindowFlags(Qt.WindowFlags)函数来设置窗口的显示效果。QWidget的构造函数可以接收两个参数,其中第一个参数是该窗口的父窗口;第二个参数是该窗口的Flag,也就是- Qt.WindowFlags。根据父窗口来决定Widget是嵌入到父窗口中还是被当作一个独立的窗口来调用,根据Flag来设置Widget窗口的一些属性。

  • QMainWindow(主窗口)一般是应用程序的框架,在主窗口中可以添加所需要的Widget,比如添加菜单栏、工具栏、状态栏等。主窗口通常用于提供一个大的中央窗口控件(如文本编辑或者绘制画布)以及周围的菜单栏、工具栏和状态栏。QMainWindow常常被继承,这使得封装中央控件、菜单栏,工具栏以及窗口状态变得更容易,也可以使用Qt Designer来创建主窗口。

  • 9
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: PyQt5是Python编程语言和Qt GUI框架的绑定库。通过PyQt5,我们可以利用Python语言来创建强大的桌面应用程序,其中涉及到了GUI设计和用户交互等方面的知识。下面是一个简单的PyQt5知识思维导图: 1. PyQt5简介 - PyQt5是Python与Qt框架结合的一个库 - 支持Qt的所有功能和特性 - 可以用于创建跨平台的桌面应用程序 2. 安装PyQt5 - 安装Python解释器 - 通过pip安装PyQt5模块 3. 创建GUI应用程序 - 导入所需的模块和类 - 创建主窗口和其他的GUI组件 - 设置窗口的大小、标题、图标等属性 - 设置布局管理器,如垂直布局、水平布局等 - 定义信号和槽,实现用户交互功能 - 显示窗口,进入事件循环 4. 使用Qt Designer可视化设计界面 - 安装Qt Designer工具 - 创建GUI界面文件,如.ui文件 - 使用Qt Designer设计界面,添加组件和布局 - 将.ui文件转换成Python代码 - 在代码中导入生成的模块,实例化并显示窗口 5. 事件和信号处理 - 事件是用户与应用程序交互的行为 - 可以通过重写事件处理方法来处理事件 - 信号是对象间通信的机制 - 槽是信号的接收者,可以是函数、方法或Lambda表达式 6. 常用的GUI组件 - 按钮、标签、文本框、下拉框等 - 布局、表格、树形视图等 - 对话框、文件选择框等 - 绘图、网络、数据库等 通过上述思维导图,我们可以系统性地了解和学习PyQt5知识,以便更好地使用它来开发丰富而强大的桌面应用程序。当然,这只是一个简单的概览,实际上PyQt5还有更多的功能和用法需要我们去探索和实践。 ### 回答2: PyQt5是Python编程语言中的一个GUI框架,它的目的是用于创建漂亮、强大且可定制的图形用户界面。PyQt5使用了Qt应用程序开发框架,因此它具有很高的可移植性和跨平台性。 PyQt5的知识思维导图可以帮助我们更好地理解和学习这个框架。以下是一个简单的PyQt5知识思维导图的示例: 主题1:PyQt5基础知识 - PyQt5简介 - 安装PyQt5 - 搭建PyQt5开发环境 主题2:PyQt5中的核心概念 - 信号和槽 - 窗口和小部件 - 布局管理器 主题3:PyQt5中的常用控件 - 文本框和标签 - 按钮和复选框 - 列表框和下拉列表框 - 表格和树形视图 主题4:事件和信号处理 - 事件处理 - 自定义信号 - 与其他对象的通信 主题5:PyQt5的高级功能 - 绘图和绘图控件 - 动画和过渡效果 - 多线程编程 主题6:PyQt5与数据库的集成 - 连接数据库 - 执行SQL查询 - 数据库操作的常用方法 主题7:PyQt5的样式和主题 - 自定义样式 - 使用Qt样式表 通过这个思维导图,我们可以清晰地了解PyQt5的各个主题和相关内容。它可以帮助我们系统地学习以及快速地回顾所学内容。同时,这个思维导图也可以随时进行修改和更新,以满足个人的学习需求。总之,通过这个PyQt5知识思维导图,我们能够更好地掌握和应用这个强大的GUI框架。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值