当前位置:   article > 正文

PyQt5的安装与基础编程_pyqt5 安装

pyqt5 安装

1-安装

pip install pyqt5 -i https://pypi.tuna.tsinghua.edu.cn/simple

注意 如果安装缓慢,可以尝试修改pip加速,加速地址如下 阿里云  https://mirrors.aliyun.com/pypi/simple/ 中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/ 豆瓣(douban) https://pypi.douban.com/simple/ 清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/ 中国科学技术大学 https://pypi.mirrors.ustc.edu.cn/simple/

2-pycharm安装与配置Pyqt5

请按照这个链接配置,很详细了: https://blog.csdn.net/lm_is_dc/article/details/123359253

3-PyQt基本UI

  1. import sys
  2. from PyQt5.QtWidgets import QApplication, QWidget
  3. if __name__ == '__main__':
  4. app = QApplication(sys.argv)
  5. w = QWidget()
  6. # 设置窗口标题
  7. w.setWindowTitle("第一个PyQt")
  8. # 展示窗口
  9. w.show()
  10. # 程序进行循环等待状态
  11. app.exec()

4-Qt框架是如何生成界面的呢?

  1. 创建应用程序对象:在使用Qt框架之前,需要创建一个QApplication对象作为应用程序的入口点。这个对象会处理与操作系统进行交互,并负责事件处理和窗口管理等功能。
  2. 创建主窗口对象:使用Qt提供的窗口类(例如QMainWindow、QWidget等)创建一个主窗口对象。主窗口是GUI应用程序的顶级窗口,可以包含其他控件(如按钮、标签等)和布局。
  3. 创建控件对象:使用Qt提供的控件类创建各种UI控件对象,例如按钮、标签、文本框等。每个控件对象都可以设置属性(如位置、大小、文本内容等),并且可以响应用户的交互操作。
  4. 设置布局:Qt框架提供了多种布局管理器(如QVBoxLayout、QHBoxLayout等)来自动处理控件的位置和大小。通过将控件添加到布局管理器中,并将布局管理器应用于主窗口或其他容器控件上,可以方便地实现自动布局。
  5. 关联信号和槽:信号和槽是Qt框架中一种强大的机制,用于处理控件间的事件和通信。通过使用QObject派生类的信号和槽机制,可以将控件的信号与其他控件或自定义的槽函数进行关联。当信号被触发时,对应的槽函数会被执行。
  6. 显示窗口:通过调用主窗口对象的show()方法,将窗口显示在屏幕上。
  7. 进入事件循环:通过调用QApplication对象的exec()方法,进入Qt框架的事件循环。在事件循环中,Qt框架会等待用户的交互操作、处理事件、执行槽函数,并更新界面以反映应用程序的状态。

5-QMainWindow和QWidget

QWidget是Qt框架中所有窗口部件(widget)的基类,它提供了一些通用的功能,比如窗口管理、事件处理和布局等。QWidget本身并没有定义窗口的装饰(标题栏、最大化/最小化按钮等),因此它通常被用作嵌套在其他窗口或容器控件中的部件。

QMainWindow继承自QWidget,是Qt框架中常用的主窗口类。它提供了一些额外的功能,使得创建具有常用应用程序结构的主窗口更加方便。QMainWindow通常包含一个菜单栏、工具栏、状态栏和中央区域,其中中央区域是用于放置应用程序的主要内容的部分。此外,QMainWindow还提供了一些方便的方法和信号,用于管理窗口的布局、显示和交互。

下面是QMainWindow和QWidget的一些特点和适用场景:

QWidget: 基类,用于创建各种窗口部件。 适用于需要自定义窗口装饰、用户界面较简单的情况。 可以嵌套在其他窗口或容器控件中,作为其中的一部分。

QMainWindow: 继承自QWidget,提供了额外的功能和布局结构,适用于创建主窗口。 自带菜单栏、工具栏和状态栏,方便创建常见应用程序的主界面。 中央区域用于放置应用程序的主要内容,例如文本编辑器、绘图区等。 可以通过设置中央区域为其他窗口或控件实现动态切换内容。

6- app = QApplication(sys.argv)

这行代码创建了一个QApplication对象,即应用程序对象。

下面是对该代码的解释: QApplication是Qt框架中的一个类,用于处理与操作系统交互以及管理应用程序的生命周期。 sys.argv是一个命令行参数列表,它包含了执行应用程序时传递给应用程序的参数。 QApplication的构造函数接受一个参数,即命令行参数列表,用于初始化应用程序对象。 通过创建QApplication对象,可以启动一个Qt应用程序并与操作系统进行交互。

这个应用程序对象处理一些底层的事件和资源的管理工作,如键盘事件、鼠标事件、窗口管理等。在应用程序对象创建后,可以通过调用其成员函数来设置应用程序的属性、处理事件、显示窗口等。 需要注意的是,在使用QApplication之前,通常需要先进行Qt框架的初始化工作,比如设置字体、主题样式等。

此外,QApplication对象通常只创建一个,它是整个应用程序的入口点,负责管理整个应用程序的生命周期。

7-app.exec()

在使用 PyQt 或 PySide 开发基于 Qt 框架的应用程序时,app.exec() 是一个用于启动应用程序事件循环的方法。

exec() 方法会将控制权交给 Qt 框架,并开始处理各种事件(包括用户输入、定时器等)。

它会一直运行,直到应用程序退出。

在调用 app.exec() 之后,Qt 框架会开始监听并处理事件,比如用户点击按钮、窗口移动、键盘输入等。当触发了一个事件时,Qt 会根据事件类型和应用程序的 UI 布局来进行相应的操作,例如更新界面、执行特定的操作等。

只有在调用了 app.exec() 之后,应用程序才能进入事件循环并接受用户的交互。如果没有调用 app.exec(),应用程序将会在创建后立即退出。

通常情况下,app.exec() 位于应用程序代码的最后一行,它会一直运行直到应用程序被显式关闭或触发了退出事件。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/秋刀鱼在做梦/article/detail/766331
推荐阅读
  

闽ICP备14008679号