问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

PyQt5 GUI开发入门:从环境搭建到项目实战

创作时间:
作者:
@小白创作中心

PyQt5 GUI开发入门:从环境搭建到项目实战

引用
百度
12
来源
1.
https://comate.baidu.com/zh/readme
2.
https://blog.csdn.net/wypdao/article/details/141395328
3.
https://blog.csdn.net/m0_56786875/article/details/137519693
4.
https://cloud.baidu.com/article/2956588
5.
https://blog.csdn.net/m0_60318025/article/details/136279628
6.
https://blog.csdn.net/weixin_44955553/article/details/140084884
7.
https://www.cnblogs.com/L707/p/18047679
8.
https://cloud.tencent.com/developer/article/2456240
9.
https://www.guru99.com/zh-CN/pyqt-tutorial.html
10.
https://www.cainiaoya.com/pyqt5/pyqt5-jiaocheng.html
11.
https://www.53ai.com/news/OpenSourceLLM/2024071096135.html
12.
https://www.cnblogs.com/yoyoketang/p/18154732

PyQt5是Python语言的GUI(图形用户界面)开发框架,基于强大的Qt库。它不仅提供了丰富的控件和布局管理功能,还支持跨平台开发,可以轻松创建出界面美观、功能完善的桌面应用程序。对于Python开发者来说,PyQt5是一个理想的选择,它结合了Python的简洁性和Qt的高性能,让开发者能够快速构建出高质量的GUI应用。

01

为什么选择PyQt5?

在众多Python GUI框架中,PyQt5凭借其强大的功能和优秀的跨平台支持脱颖而出。以下是选择PyQt5的几个关键原因:

  1. 跨平台支持:PyQt5支持Windows、macOS和Linux等多个平台,一次开发即可在多个操作系统上运行。

  2. 丰富的控件:提供了大量的GUI控件,从基本的按钮、标签到复杂的表格视图、树形控件等,满足各种界面需求。

  3. 可视化设计工具:Qt Designer允许开发者通过拖拽方式设计界面,大大提高了开发效率。

  4. 信号与槽机制:独特的信号与槽机制简化了事件处理,使代码更加清晰易读。

  5. 社区支持:拥有活跃的开发者社区,遇到问题容易找到解决方案。

02

开发环境搭建

在开始PyQt5开发之前,需要先搭建好开发环境。以下是详细的步骤:

1. Python环境搭建

  • 下载Python3.X:访问Python官网(https://www.python.org/),下载最新版本的Python3.X 32位安装包。选择32位版本的原因是32位的Pyinstaller打包的exe文件可以在32位和64位系统上运行,而64位版本则只能在64位系统上运行。

  • 安装Python:运行下载的安装包,勾选"Add Python 3.7 to PATH"选项,然后一路Next完成安装。

  • 配置pip镜像源:为了加快包的下载速度,建议配置pip使用国内镜像源。具体步骤如下:

    1. 打开命令行窗口(按Win+R键,输入cmd,回车)
    2. 输入echo %HOMEPATH%获取用户家目录路径
    3. 在该目录下创建一个名为pip的文件夹
    4. pip文件夹中创建一个名为pip.ini的文件,内容如下:
      [global]
      index-url = http://pypi.douban.com/simple
      [install]
      trusted-host = pypi.douban.com
      
    5. 保存并关闭文件,重新打开命令行窗口,输入pip install xlrd测试配置是否成功

2. PyQt5安装

  • 安装PyQt5:在命令行中输入pip install PyQt5,等待安装完成。

  • 安装Qt Designer:继续在命令行中输入pip install PyQt5-tools,这将安装Qt Designer等开发工具。

  • 配置环境变量:将PyQt5-tools的安装目录添加到系统环境变量PATH中。具体步骤如下:

    1. 右键点击"此电脑",选择"属性"
    2. 点击"高级系统设置"
    3. 点击"环境变量"
    4. 在"系统变量"中找到Path,点击"编辑"
    5. 添加PyQt5-tools的完整路径(例如:C:\Python\Python37-32\Lib\site-packages\pyqt5_tools

3. PyCharm配置

  • 配置Qt Designer

    1. 打开PyCharm,进入File -> Settings
    2. 选择Tools -> External Tools
    3. 点击+号添加新工具
    4. 配置参数:
      • Name:Qt Designer
      • Program:designer.exe的绝对路径
      • Parameters:$(FileDir)$FileName$
      • Working directory:$(FileDir)
  • 配置PyUIC

    1. 同样在External Tools中添加新工具
    2. 配置参数:
      • Name:PyUIC
      • Program:python.exe的绝对路径
      • Parameters:-m PyQt5.uic.pyuic $(FileName) -o $(FileNameWithoutExtension).py
      • Working directory:$(FileDir)

配置完成后,你可以在PyCharm中通过Tools -> External Tools菜单访问Qt Designer和PyUIC工具。

03

文心快码使用指南

文心快码是百度推出的AI编码助手,能够显著提高开发效率。以下是其主要功能和使用方法:

1. 主要功能

  • 代码补全:智能提示代码,减少重复输入
  • 代码生成:根据需求描述生成完整代码块
  • 代码解释:提供代码功能的详细解释
  • 代码优化:建议更优的代码实现方式

2. 安装与登录

  • 安装:在VSCode中打开扩展商店,搜索"Baidu Comate",点击安装。
  • 登录:安装完成后,在VSCode右下角点击登录提示,按照指引完成浏览器登录。

3. 实际应用

在编写代码时,文心快码会根据上下文提供代码提示。例如,当你输入函数名时,它会自动补全参数列表;当你描述功能需求时,它会生成相应的代码块。此外,你还可以通过聊天窗口向文心快码咨询技术问题,获取解决方案。

04

实战项目:员工信息管理系统

为了巩固所学知识,我们将开发一个简单的员工信息管理系统。这个系统将包含添加、修改、删除员工信息的功能,并能够根据员工姓名或工号进行快速检索。

1. 需求分析

系统需要实现以下功能:

  • 数据库连接:使用SQLite存储数据
  • 员工信息管理:添加、修改、删除员工信息
  • 信息检索:根据姓名或工号搜索员工信息
  • 界面交互:使用PyQt5创建用户界面

2. 界面设计

使用Qt Designer设计主界面,包含以下元素:

  • 一个表格控件(QTableWidget)用于显示员工信息
  • 几个按钮用于添加、修改、删除操作
  • 一个搜索框和下拉菜单用于快速检索

3. 功能实现

以下是核心功能的代码实现:

import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QTableWidgetItem
from PyQt5.QtCore import Qt
from PyQt5.QtSql import QSqlDatabase, QSqlQuery
from mainwindow import Ui_MainWindow

class EmployeeManager(QMainWindow, Ui_MainWindow):
    def __init__(self):
        super().__init__()
        self.setupUi(self)
        self.db = self.connect_db()
        self.load_data()

    def connect_db(self):
        db = QSqlDatabase.addDatabase('QSQLITE')
        db.setDatabaseName('employees.db')
        if not db.open():
            print("无法连接数据库")
            sys.exit(1)
        return db

    def load_data(self):
        query = QSqlQuery()
        query.exec_("SELECT * FROM employees")
        row = 0
        while query.next():
            self.tableWidget.insertRow(row)
            for col in range(5):
                item = QTableWidgetItem(str(query.value(col)))
                self.tableWidget.setItem(row, col, item)
            row += 1

    def add_employee(self):
        # 实现添加员工信息的逻辑
        pass

    def edit_employee(self):
        # 实现修改员工信息的逻辑
        pass

    def delete_employee(self):
        # 实现删除员工信息的逻辑
        pass

    def search_employee(self):
        keyword = self.lineEdit.text()
        column = self.comboBox.currentIndex()
        query = QSqlQuery()
        query.prepare("SELECT * FROM employees WHERE ? LIKE ?")
        query.addBindValue(column)
        query.addBindValue(f"%{keyword}%")
        query.exec_()
        self.tableWidget.clearContents()
        self.tableWidget.setRowCount(0)
        row = 0
        while query.next():
            self.tableWidget.insertRow(row)
            for col in range(5):
                item = QTableWidgetItem(str(query.value(col)))
                self.tableWidget.setItem(row, col, item)
            row += 1

if __name__ == "__main__":
    app = QApplication(sys.argv)
    window = EmployeeManager()
    window.show()
    sys.exit(app.exec_())

4. 代码解释

  • 数据库连接:使用QSqlDatabase类连接SQLite数据库
  • 数据加载:通过QSqlQuery执行SQL查询,并将结果填充到表格控件中
  • 搜索功能:根据用户输入的关键字和选择的列进行模糊搜索
  • 增删改功能:预留了方法框架,可以根据需求实现具体逻辑

通过这个项目,你可以掌握PyQt5的基本用法,包括界面设计、数据库操作和事件处理等核心技能。

05

总结与展望

通过本文的学习,你已经掌握了PyQt5的基本开发流程和关键概念。从环境搭建到实际项目开发,你具备了独立开发简单GUI应用的能力。为了进一步提升技能,建议你:

  1. 深入学习PyQt5的高级特性:如多线程、网络编程等
  2. 探索更多项目实战:尝试开发不同类型的桌面应用
  3. 关注社区动态:参与开源项目,与其他开发者交流经验

希望本文能成为你PyQt5学习之旅的良好开端,祝你在GUI开发的道路上越走越远!

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号