Python-PyQt5 安装与配置教程

Python-PyQt5 安装与配置教程

目录

  1. Part1:安装 PyQt5
  2. Part2:配置 PyQt5 依赖工具 QtDesigner 和 PyUIC
  3. Part3:使用 QtDesigner 设计界面
  4. Part4:使用 PyUIC 将设计好的界面转换为 .py 文件
  5. Part5:通过代码显示 UI 界面

Part1:安装 PyQt5

        使用 PyQt5 开发界面,需要安装两个核心库,直接通过 pip 命令即可完成安装(注意这里针对的python版本是低于3.10的,高于3.10的版本有所变化),命令如下:

pip install PyQt5 pip install pyqt5-tools 

        若出现安装超时、失败等问题,可添加镜像源加速下载,命令修改如下:

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

Part2:配置 PyQt5 的依赖工具 QtDesigner 和 PyUIC

        QtDesigner 是可视化界面设计工具,PyUIC 是将 .ui 设计文件转换为 Python 代码的工具,需在 PyCharm 中进行配置,步骤如下:

  1. 打开 PyCharm,依次点击顶部菜单栏 File —> Settings —> Tools —> External Tools(外部工具)。

点击界面右侧的 + 号,分别添加 QtDesigner 和 PyUIC 两个工具(需对应你的 Python/Conda 环境路径)。

配置 QtDesigner

        核心是找到 designer.exe 的存放路径,以 Python 环境为例,我的路径如下:

C:\Users\26416\AppData\Local\Programs\Python\Python310-32\Lib\site-packages\qt5_applications\Qt\bin\designer.exe

配置 PyUIC

        核心是找到 pyuic5.exe 的存放路径,以 Python 环境为例,我的路径如下:

C:\Users\26416\AppData\Local\Programs\Python\Python310-32\Scripts\pyuic5.exe

        找不到路径可以在解释器这里查询自己的环境路径。

此外,配置时还需要填写以下两个关键参数(直接复制即可):

  • Arguments(参数):$FileName$ -o $FileNameWithoutExtension$.py
  • Working directory(工作目录):$FileDir$

Part3:使用 QtDesigner 设计界面

配置完成后,可通过两种方式打开 QtDesigner:

  1. 右键点击当前项目工程文件,在弹出的菜单中找到 External Tools —> QtDesigner

直接点击 PyCharm 顶部菜单栏 Tools —> External Tools —> QtDesigner

打开 QtDesigner 后,操作流程如下:

可通过右侧属性面板,修改界面、组件的尺寸、名称、显示文本等属性,完成界面精细化设计。

从左侧组件面板中拖动所需的常用组件(如按钮、文本框、标签等)到中间画布,搭建自定义界面。

进入设计界面后,左侧为组件面板,中间为画布,右侧为属性配置面板。

在弹出的新建界面窗口中,选择 Main Window(主窗口),点击 Create(创建)。


Part4:使用 PyUIC 将设计好的界面转换为 .py 文件

        界面设计完成后,先通过 Ctrl+S 保存设计文件(后缀为 .ui)。

        再将其转换为可被 Python 调用的 .py 文件,步骤如下:

  1. 返回 PyCharm 项目界面,找到保存好的 .ui 设计文件。
  2. 右键点击该 .ui 文件,在弹出的菜单中选择 External Tools —> PyUIC
  3. 执行完成后,会在同一目录下生成一个与 .ui 文件同名的 .py 文件,该文件中包含了界面的所有布局和组件信息,无需手动修改。

Part5:通过代码显示 UI 界面

        下面提供一个通用模板,只需简单修改一处,即可显示你设计好的 UI 界面,代码及注释如下:

from PyQt5 import QtCore, QtGui, QtWidgets # 导入PyQt5核心模块 from PyQt5.QtCore import * # 导入QtCore模块,提供核心功能(如信号与槽、定时器等) from PyQt5.QtGui import * # 导入QtGui模块,提供图形相关功能(如字体、图标等) from PyQt5.QtWidgets import QFileDialog, QMainWindow, QMessageBox # 导入常用窗口组件 ''' QFileDialog:帮助用户可视化选择文件/文件夹路径 QMainWindow:用于创建带有菜单、工具栏、状态栏的标准主窗口 QMessageBox:用于向用户显示提示、警告、确认等弹窗信息 ''' """ 唯一需要修改的地方:将 test 替换为你的 .ui 文件转换后的 .py 文件名 """ from test import Ui_MainWindow # 导入生成的UI类,包含所有界面设计信息 import sys # 导入sys模块,用于处理应用程序命令行参数和退出逻辑 class PyQtMainEntry(QMainWindow, Ui_MainWindow): # 定义主窗口类,继承自QMainWindow和Ui_MainWindow def __init__(self): # 构造函数,初始化窗口 super().__init__() # 调用父类构造函数,完成基础初始化 self.setupUi(self) # 调用setupUi方法,加载并渲染设计好的界面 """ 此处可编写业务逻辑代码,为界面中的组件(如按钮)绑定点击事件等功能 """ if __name__ == "__main__": app = QtWidgets.QApplication(sys.argv) # 创建PyQt5应用程序实例 window = PyQtMainEntry() # 创建主窗口实例 window.show() # 显示主窗口 sys.exit(app.exec_()) # 进入应用程序事件循环,确保正常退出并清理资源 

        将代码中的 from test import Ui_MainWindow 中的 test 替换为你的 .py 文件名,运行该代码即可显示你设计的 UI 界面。界面的大小、组件样式等,均可在 QtDesigner 中自定义调整优化。

        最终效果:

Read more

从割裂到融合:MATLAB与Python混合编程实战指南

从割裂到融合:MATLAB与Python混合编程实战指南

从割裂到融合:MATLAB与Python混合编程实战指南 摘要:在科学计算领域,MATLAB和Python就像两把各有所长的“神兵利器”——MATLAB凭借矩阵运算的“独门绝技”称霸工程仿真,Python则依靠开源生态的“人海战术”横扫AI与数据科学。但在实际研发中,单一语言往往难以覆盖全流程需求:用MATLAB做完工程仿真,想对接Python的机器学习模型;用Python训练好AI模型,又需要MATLAB做工程验证。 这种场景下,MATLAB与Python的混合编程不再是“锦上添花”,而是提升研发效率的“刚需”。本文将手把手教你打通两大语言的壁垒,从技术原理到代码实战,全方位解析跨语言协作的最优路径。 一、核心技术路径对比 在动手编码前,先理清MATLAB与Python互调的核心方案,不同场景适配不同技术: 技术方案适用场景性能部署复杂度核心优势MATLAB Engine APIPython调用MATLAB函数(开发阶段)高低(需装MATLAB)调用最直接,支持全量MATLAB功能MATLAB Compiler SDKMATLAB代码打包部署(生产环境)中中(需运行时

By Ne0inhk
Python Flask应用中文件处理与异常处理的实践指南

Python Flask应用中文件处理与异常处理的实践指南

个人名片 🎓作者简介:java领域优质创作者 🌐个人主页:码农阿豪 📞工作室:新空间代码工作室(提供各种软件服务) 💌个人邮箱:[[email protected]] 📱个人微信:15279484656 🌐个人导航网站:www.forff.top 💡座右铭:总有人要赢。为什么不能是我呢? * 专栏导航: 码农阿豪系列专栏导航 面试专栏:收集了java相关高频面试题,面试实战总结🍻🎉🖥️ Spring5系列专栏:整理了Spring5重要知识点与实战演练,有案例可直接使用🚀🔧💻 Redis专栏:Redis从零到一学习分享,经验总结,案例实战💐📝💡 全栈系列专栏:海纳百川有容乃大,可能你想要的东西里面都有🤸🌱🚀 目录 * Python Flask应用中文件处理与异常处理的实践指南 * 引言 * 问题背景 * 问题分析 * 1. 错误原因 * 2. 深层原因 * 解决方案 * 1. 优化 `process_

By Ne0inhk
Python(29)Python生成器函数深度解析:asyncio事件循环的底层实现与异步编程实战

Python(29)Python生成器函数深度解析:asyncio事件循环的底层实现与异步编程实战

目录 * 引言 * 一、生成器与异步编程的渊源 * 1.1 技术背景与发展 * 1.2 关键结合点:协程概念 * 1.3 实际应用演进 * 1.4 底层实现原理 * 1.5 生成器的基础特性代码 * 1.6 协程的进化之路代码 * 二、asyncio事件循环深度解析 * 2.1 事件循环架构 * 2.2 生成器调度流程 * 三、高级特性实现 * 3.1 生成器双向通信 * 3.2 异常处理机制 * 四、性能优化实战 * 4.1 内存管理对比 * 4.2 执行时间优化技巧 * 五、实践建议 * 5.

By Ne0inhk
OpenClaw 都在排队养,你还在云端白嫖?手把手教你用 Python 搭建本地 AI 智能体(小白也能养自己的小龙虾)

OpenClaw 都在排队养,你还在云端白嫖?手把手教你用 Python 搭建本地 AI 智能体(小白也能养自己的小龙虾)

🦞 长文警告! 📜 文章目录(点击跳转,这波操作稳如老狗) 1. 前言:别再当云端 AI 的韭菜了,把“小龙虾”养在自己家 2. 第一步:给电脑装个“胃”——下载安装 Python(含官网地址) 3. 第二步:请个本地“大脑”——Ollama + Qwen 模型(白嫖党狂喜) 4. 第三步:搭个“龙虾笼子”——安装 OpenClaw(附项目地址) 5. 第四步:用 Python 写个“传话筒”,让你的小龙虾听你指挥 6. 第五步:第一次对话——你的本地贾维斯上线 7. 总结:白嫖虽好,但别让龙虾把你的电脑“钳”

By Ne0inhk