PyQt5的基本安装与使用

1. 简介

PyQt5是一个用于创建交互式界面的Python库,它是基于Qt框架的Python绑定。Qt是一个跨平台的C++框架,用于开发图形用户界面(GUI)应用程序,它提供了丰富的功能和工具,使开发者能够轻松创建现代化、美观、可移植的应用程序。

特点:

  1. 跨平台性:PyQt5可以在各种操作系统上运行,包括Windows、Linux和macOS。
  2. 丰富的组件:PyQt5提供了大量的GUI组件,如按钮、标签、文本框、复选框、滑块等,以及各种布局管理器。
  3. 可扩展性:PyQt5是一个庞大的库,还提供了许多其他功能,如图形效果、文件操作、数据库连接等。
  4. 信号和槽机制:PyQt5使用信号和槽机制来处理事件和通信,这使得编写响应式的、交互式的程序变得更加容易。
  5. Qt Designer工具:Qt Designer是一个可视化界面设计工具,可以用来设计和布局应用程序的界面,PyQt5可以与Qt Designer配合使用。
  6. 完整的文档和社区支持:PyQt5有完善的官方文档和社区支持,提供了丰富的示例和教程,方便开发者学习和使用。

2.安装

软件:PyCharm | Python 版本:3.9 | PyQt5

pip install PyQt5
pip install pyqt5-tools
  1. pip install PyQt5:
    • 这个命令用于安装PyQt5库。PyQt5是一个用于创建交互式界面的Python库,它是基于Qt框架的Python绑定。执行此命令后,你就可以在你的Python环境中使用PyQt5来开发GUI应用程序了。
  2. pip install pyqt5-tools:
    • 这个命令用于安装PyQt5工具,包括Qt Designer等。Qt Designer是一个可视化界面设计工具,可以帮助开发者设计和布局应用程序的界面。安装了pyqt5-tools后,你可以使用Qt Designer来创建GUI界面,并将其与PyQt5一起使用。

2.1.QtDisigner配置

在Pycharm中,依次打开 File – Settings – Tools – External Tools,点击 + Create Tool,配置如下:

Name: QtDisigner

Program : C:\Users\hdxia\anaconda3\envs\pytorch_2\Lib\site-packages\qt5_applications\Qt\bin\designer.exe # 请根据实际修改

Working directory: $FileDir$

在这里插入图片描述

Qt Designer 是通过拖拽的方式放置控件,并实时查看控件效果进行快速UI设计。Qt Designer整个画面的构成:

在这里插入图片描述

2.2 PyUIC配置

PyUIC主要是把Qt Designer生成的.ui文件换成.py文件。

在Pycharm中,依次打开 File – Settings – Tools – External Tools,点击 + Create Tool,配置如下:

Name: PyUIC

Program : C:\Users\hdxia\anaconda3\envs\pyqt5env\python.exe # 当前Python目录,请根据实际修改

Arguments: -m PyQt5.uic.pyuic $FileName$ -o $FileNameWithoutExtension$.py

Working directory: $FileDir$

在这里插入图片描述

2.3. PyRCC配置

PyRCC主要是把编写的.qrc资源文件换成.py文件。

在Pycharm中,依次打开 File – Settings – Tools – External Tools,点击 + Create Tool,配置如下:

Name: PyRCC

Program: C:\Users\hdxia\anaconda3\envs\pyqt5env\Scripts\pyrcc5.exe # 当前rcc工具目录,请根据实际修改

Arguments: $FileName$ -o $FileNameWithoutExtension$_rc.py

Working directory: $FileDir$

在这里插入图片描述

3. 一个简单的PyQt5使用示例

下面是一个简单的PyQt5使用示例,创建了一个带有按钮的窗口,点击按钮时会弹出一个消息框。

import sys
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QMessageBox

# 创建应用程序对象
app = QApplication(sys.argv)

# 创建窗口部件
widget = QWidget()

# 设置窗口部件的大小
widget.setGeometry(100, 100, 300, 200)

# 设置窗口部件的标题
widget.setWindowTitle('Simple PyQt5 App')

# 创建按钮
button = QPushButton('Click Me', widget)

# 设置按钮的位置和大小
button.setGeometry(100, 100, 100, 30)

# 定义按钮点击时的事件处理函数
def showMessageBox():
    QMessageBox.information(widget, 'Message', 'Button Clicked!')

# 将按钮的点击事件连接到事件处理函数
button.clicked.connect(showMessageBox)

# 显示窗口部件
widget.show()

# 运行应用程序,进入事件循环
sys.exit(app.exec_())

运行该程序,我们会得到下面的窗口
在这里插入图片描述

点击按钮,会出现如下提示
在这里插入图片描述

在上面代码中,

  1. import sys: 导入sys模块,用于处理与Python解释器交互的标准功能。
  2. from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QMessageBox: 导入PyQt5的QtWidgets模块中所需的类,包括应用程序类QApplication、窗口部件类QWidget、按钮类QPushButton和消息框类QMessageBox
  3. app = QApplication(sys.argv): 创建一个应用程序对象。sys.argv是一个传递给Python脚本的命令行参数列表,QApplication对象使用这些参数来初始化应用程序。
  4. widget = QWidget(): 创建一个窗口部件。
  5. widget.setGeometry(100, 100, 300, 200): 设置窗口部件的位置和大小。
  6. widget.setWindowTitle('Simple PyQt5 App'): 设置窗口部件的标题。
  7. button = QPushButton('Click Me', widget): 创建一个按钮,并将其父对象设置为窗口部件。这样按钮就会显示在窗口中。
  8. button.setGeometry(100, 100, 100, 30): 设置按钮的位置和大小。第一个参数 100 是窗口部件的 x 坐标,即窗口左上角相对于屏幕左上角的水平位置。第二个参数 100 是窗口部件的 y 坐标,即窗口左上角相对于屏幕左上角的垂直位置。第三个参数 300 是窗口部件的宽度,即窗口的水平尺寸。第四个参数 200 是窗口部件的高度,即窗口的垂直尺寸。因此,widget.setGeometry(100, 100, 300, 200) 表示窗口部件的左上角位于屏幕上 x 坐标为 100,y 坐标为 100 的位置,宽度为 300 像素,高度为 200 像素。
  9. def showMessageBox(): ...: 定义了一个名为showMessageBox()的函数,用于处理按钮点击事件。当按钮被点击时,会弹出一个消息框。
  10. button.clicked.connect(showMessageBox): 将按钮的clicked信号连接到showMessageBox()函数,这样当按钮被点击时,showMessageBox()函数就会被调用。
  11. widget.show(): 显示窗口部件。
  12. sys.exit(app.exec_()): 运行应用程序,进入事件循环。app.exec_()开始Qt的事件循环,直到app.exit()被调用,或者主窗口被关闭。sys.exit()确保程序在退出时返回一个正确的状态码。
  • 33
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

xy_optics

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

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

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

打赏作者

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

抵扣说明:

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

余额充值