002.PyQt5的介绍

  • 1、什么是 GUI 编程

    • GUI:Graphical User Interface,又称图形化用户接口(接口:对接的入口,在计算机中“接口”常指前端和后端交互的入口,即API)。会有一个图形化的界面展示给用户,与用户交互。用户只需要鼠标点击就可以控制,而不是输入代码指令,接收枯燥的反馈。
    • 而 GUI 编程,就是编写图形化界面的软件供用户使用。
  • 2、与 GUI 编程相关的库

    • 官网由相关介绍:https://wiki.python.org/moin/GuiProgramming
    • 有跨平台的库,也有针对某一平台的库(体验更好)。
    • 官方库:Tkinter
    • 其他常用库:PyQt、PySide、wxPython、PyGUI、Kivy、Libavg
  • 选库标准:

    • 别用最新的版本(有bug,有问题不好查找)
    • 最新更新时间近(有人维护)
    • 简单好用,功能强大(占用内存小)
    • 文档齐全
    • 性能高,稳定性好
    • 生态支持(Qt Designer)
    • 跨平台
    • 开源免费
    • 讨巧的方法:那个人多用哪个,群众的眼睛是雪亮的。
  • PyQt:

    • Qt 最流行的 Python 绑定之一,PyQt 使用 Python 重新实现了一遍 Qt 的功能,在实现的时候, 几乎保持了全部原有的 API,本质还是 Qt。
    • 注意:Qt 除了可以做桌面UI,还可以用于 xml、网络、多线程、数据库、定位、多媒体、web 浏览器。
  • 为什么 PyQt 稳定性高:

    • 面向对象:方便代码维护。
    • 信号与槽的机制:点击按钮,按钮向外发射信号,函数获取信号开始执行,函数代码好改。
    • 界面设计与业务代码完全隔离模式:界面和业务逻辑分开写
  • 3、GUI 编程应该学什么

    • 大致了解 GUI 库 PyQt5 包含哪些功能,能做什么,每件事情对应哪些模块。
    • 基本程序结构,可以跑通 GUI 程序,看到一个界面,如何展示控件。
    • 各种控件的特性和使用,能够知道每个控件都能解决什么需求,该怎样去使用这个控件。(比如什么用来输入、什么用来点击、什么用作复选框)
    • 控件的样式,怎样能把控件的样式搞的好看一点,比如颜色,边框等等。
    • 资源的加载,怎样加载资源,展示在GUI控件中。(比如图像)
    • 控件的布局,怎样把各个单独的控件摆放的更协调,更美观。
    • 事件和信号,监听各个控件的事件,可以执行相关业务代码。
    • 动画特效,怎样能够在与用户交互的时候,展示炫酷的动画。
    • 界面跳转,从一个窗口,跳转到另外一个窗口。(比如登录跳转)
    • 设计工具使用,通过辅助工具来设计界面。
    • 额外:网络通讯(搭建服务器验证账号)、多线程、数据库、文件操作、绘图、多媒体、定时器、定位
    • 国际化…
  • 4、PyQt5 库结构

  • 常用模块
    QtWidgets:包含了一整套UI元素控件(类),用于建立符合系统风格(Win,Mac)的界面。
    QtGui:涵盖了多种基本图形功能的类(字体、图形、图标、颜色…)
    QtCore:涵盖了包的核心的非GUI功能(时间、文件、目录、数据类型、文本流、链接、线程进程…)
    QtWebKit:浏览器引擎。
    QtTest:测试。
    QtSql:数据库。
    QtMultimedia
    QtMultimediaWidgets

    Qt:将基本全部模块中的类综合到一个单一的模块中,好处是不用关心哪个模块包含哪些类了,坏处是占用内存。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
PyQt5.QtCore是Python中的一个模块,它提供了许多与Qt核心功能相关的类和方法。以下是一些PyQt5.QtCore中常用的功能: 1. 信号与槽机制:PyQt5.QtCore中的QObject类提供了信号与槽机制,用于实现对象之间的通信。信号是一种特殊的函数,当特定事件发生时会被发射,而槽是与信号关联的函数,会在信号发射时被调用。 2. 定时器:PyQt5.QtCore中的QTimer类用于实现定时器功能。它可以定时触发特定的事件,比如在一定时间间隔内执行某个函数。 3. 对象模型:PyQt5.QtCore中的QObject类是所有Qt对象的基类。它提供了对象的属性、信号与槽等功能,是Qt框架中重要的基础。 4. 事件处理:PyQt5.QtCore中的QEvent类和QEventLoop类用于处理事件。事件是指用户与应用程序之间的交互,比如鼠标点击、键盘输入等。通过重写相应的事件处理函数,可以实现对事件的响应。 5. 多线程支持:PyQt5.QtCore中的QThread类和QMutex类等提供了多线程编程的支持。多线程能够提高程序的性能和响应速度,通过合理地使用多线程,可以使应用程序更加流畅和高效。 6. 文件和IO操作:PyQt5.QtCore中的QFile类和QIODevice类等用于文件和IO操作。它们提供了读写文件、网络通信等功能,方便进行数据的读取和存储。 总之,PyQt5.QtCore是PyQt5中的核心模块,提供了许多与Qt核心功能相关的类和方法,方便开发者进行GUI应用程序的开发和处理。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

失心疯_2023

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值