为什么PyInstaller打包时提示'qt_material必须在PySide或PyQt之后导入'?该怎么改才不影响主题效果?

<think>我们注意到用户正在使用PyInstaller打包一个Python脚本,但遇到了一个警告:`WARNING: qt_material must be imported after PySide or PyQt!`。这个警告表明在代码中导入`qt_material`的顺序可能不正确,应该在导入PySide或PyQt之后再导入qt_material。 此外,用户可能还希望了解如何正确打包他们的应用程序。由于用户使用的是PyInstaller,并且指定了`-F`参数(生成单个可执行文件),我们应当考虑这个警告是否会影响生成的程序运行。 解决步骤: 1. 检查代码中导入qt_material和PySide/PyQt的顺序。确保先导入PySide或PyQt,然后再导入qt_material。 例如,正确的顺序应该是: from PySide6 import QtWidgets import qt_material 2. 如果用户无法直接修改原始脚本,或者希望在打包过程中避免此问题,我们可以尝试使用PyInstaller的钩子(hook)机制来调整导入顺序。 3. 但是,由于警告只是警告,打包过程仍然会继续,但生成的程序可能会在运行时出现问题。因此,建议用户修改代码。 4. 另外,用户使用的是Python 3.13.9(conda环境)和PyInstaller 6.19.0。请注意,PyInstaller 6.x版本可能不完全支持Python 3.13,这可能导致其他问题。如果遇到兼容性问题,可能需要使用PyInstaller的开发版本或者降级Python版本。 由于我们无法直接修改用户的代码,这里给出一个修改导入顺序的示例代码片段: 原始代码可能类似这样(错误顺序): import qt_material from PySide6 import QtWidgets 应该改为(正确顺序): from PySide6 import QtWidgets import qt_material 如果用户使用的是PyQt,同样需要先导入PyQt。 另外,如果用户遇到打包后程序无法运行的问题,可能还需要考虑以下方面: - 确保在conda环境中安装了所有必要的依赖。 - 使用PyInstaller时,可以尝试添加`--hidden-import`参数来指定未自动检测到的模块。 - 如果使用了数据文件或资源,需要使用`--add-data`参数。 由于用户没有提供具体的错误,我们只能根据警告给出建议。 最后,关于PyInstaller打包的命令,用户使用的是: pyinstaller -F D:\ProgramData\2025年牵拉-813自研检测器牵拉08月\0000持续检测占用.py 如果用户需要添加额外的选项,比如隐藏控制台窗口(对于GUI应用),可以添加`-w`选项。 因此,我们建议用户: 1. 修改代码,调整导入顺序。 2. 重新运行打包命令。 如果用户修改代码后仍然有警告,可以忽略,因为qt_material库可能已经处理了导入顺序问题,但最好遵循警告。 由于我们没有用户的代码,无法提供具体的修改,但可以提供一个通用的修改示例。 示例代码修改: 错误示例: # 错误的导入顺序 import qt_material from PySide6.QtWidgets import QApplication, QMainWindow 正确示例: from PySide6.QtWidgets import QApplication, QMainWindow import qt_material 另外,如果用户遇到其他打包问题,可能需要提供更多信息。 由于用户要求最后提出相关问题,我们根据当前情况提出以下问题: </think> ### PyInstaller 打包警告分析及解决方案 #### 问题原因: 警告 `qt_material must be imported after PySide or PyQt!` 表明您的代码中导入顺序不正确。`qt_material` 是用于美化 PyQt/PySide 界面的主题库,**必须在 PyQt/PySide 库之后导入**,否则会导致主题应用失败。 #### 解决方案: 1. **修改代码中的导入顺序** 检查您的 `0000持续检测占用.py` 文件,确保导入顺序为: ```python # 正确顺序:先导入 PyQt/PySide from PyQt5 import QtWidgets # 或 from PySide6 import QtWidgets import qt_material # 必须在 GUI 库之后导入 ``` 2. **验证导入顺序** 在代码入口处添加验证: ```python import sys def check_import_order(): loaded_modules = list(sys.modules.keys()) qt_index = max(loaded_modules.index(m) for m in loaded_modules if "PyQt" in m or "PySide" in m) qt_material_index = loaded_modules.index("qt_material") if "qt_material" in loaded_modules else -1 if qt_material_index < qt_index: print("错误:qt_material 必须在 PyQt/PySide 之后导入!") sys.exit(1) if __name__ == "__main__": check_import_order() # 您的应用主逻辑 ``` 3. **重新打包命令** 修改代码后重新执行打包: ```powershell pyinstaller -F "D:\ProgramData\2025年牵拉-813自研检测器牵拉08月\0000持续检测占用.py" ``` #### 其他建议: - 如果使用 Anaconda 环境,建议在打包前清理缓存: ```powershell pyinstaller --clean -F 你的脚本.py ``` - 若遇到资源文件缺失,添加 `--add-data` 参数: ```powershell pyinstaller -F --add-data "图标文件夹;图标资源" 你的脚本.py ``` #### 警告未处理的影响: - 运行时主题无法正常加载,界面显示为默认样式 - 某些 qt_material 功能可能失效(如动态主题切换)

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

Python内容推荐

python GUI库图形界面开发之pyinstaller打包python程序为exe安装文件

python GUI库图形界面开发之pyinstaller打包python程序为exe安装文件

Anaconda 管理环境)- **GUI 库**: PyQt5- **其他依赖库**: PyInstaller, APScheduler, SQLAlchemy#### 三、PyInstaller

Python中.py文件打包成exe可执行文件详解

Python中.py文件打包成exe可执行文件详解

**路径问题**:在打包过程中可能会遇到路径问题,特别是在处理外部文件时。确保所有资源文件都已正确配置。2. **依赖库版本**:不同版本的库可能会影响打包结果,建议使用较新的版本。3.

DeepChem开源AI药物化学框架源码|Python分子机器学习/药物预测项目

DeepChem开源AI药物化学框架源码|Python分子机器学习/药物预测项目

1. 项目简介:DeepChem是面向化学、生物制药领域的开源深度学习框架,基于Python+TensorFlow/PyTorch,实现分子结构建模、药物活性预测、化合物属性仿真、量子化学计算等AI建模能力; 2. 压缩包内容:全量框架源码、分子数据集样例、多场景实战案例、环境配置文档与依赖清单; 3. 适用人群:计算化学研究者、AI制药方向开发、生物信息专业学生、深度学习跨界科研练手; 4. 运行环境:Python3.8+,附带conda一键环境部署脚本。

Python Supervision 计算机视觉工具库完整源码|目标检测标注与图像处理工程

Python Supervision 计算机视觉工具库完整源码|目标检测标注与图像处理工程

本资源为 Supervision 开源 CV 工具库完整源码压缩包,是基于 OpenCV、PyTorch 封装的轻量化视觉工具,用于目标检测框绘制、分割掩码可视化、数据集标注、视频帧处理。 1. 适用人群:计算机视觉算法工程师、深度学习学习者、AI 图像标注研发人员、目标检测项目开发者; 2. 适用场景:YOLO/Detectron2 等模型结果可视化、图像数据集批量标注、安防视频目标追踪、算法落地调试; 3. 配套内容:源码附带各类模型对接示例、环境部署文档、实战案例代码,解决 Github 下载卡顿问题,配置依赖即可运行。

Python 回测框架 backtesting-py 完整源码|量化策略历史回测工程代码

Python 回测框架 backtesting-py 完整源码|量化策略历史回测工程代码

本资源为 backtesting-py 量化回测开源项目完整源码压缩包,是轻量化 Python 量化回测工具,依托 Pandas 实现 K 线数据导入、策略回测、绩效指标计算、收益可视化绘图。 1. 适用人群:量化交易者、Python 数据分析工程师、金融专业学生、个人程序化交易爱好者; 2. 适用场景:股票 / 加密货币 / 期货策略历史回测、交易模型验证、多因子策略快速测试; 3. 配套内容:源码附带多套实战策略示例、数据接入教程、环境安装文档,免去 GitHub 下载限制,本地配置依赖即可运行回测。

总结Pyinstaller的坑及终极解决方法(小结)

总结Pyinstaller的坑及终极解决方法(小结)

在解决Pyinstaller的问题时,很多时候换一个打包工具如py2exe或cx-freeze并不是必要的,因为这些问题很可能是由程序本身的问题或环境配置不当引起的。

PySide2模块详解[源码]

PySide2模块详解[源码]

在进行Python图形界面开发时,开发者会遇到多种可供选择的方案。其中,Tkinter、wxPython以及基于Qt的PySide2和PyQt5是被广泛采用的几种技术。

My_Projects_Lesson.zip

My_Projects_Lesson.zip

PyInstaller就是这样一款工具,它能够将Python应用程序及其依赖打包成一个或多个独立的可执行文件。然而,在本案例中,由于打包后的文件大小过大,可能影响了分发和执行的效率。

PyQT多线程串口工程文件 PyCharm

PyQT多线程串口工程文件 PyCharm

- `test1.py`:可能是一个测试或示例脚本,用于验证某些功能。- `icons.qrc`:资源文件,用于将图标资源打包到程序中。

PyQt5的一部分示例,包括文件、数据库、绘图、多线程

PyQt5的一部分示例,包括文件、数据库、绘图、多线程

- `pyinstaller_use`:可能与使用PyInstaller打包应用有关,PyInstaller可以将Python程序转换为独立的可执行文件。

基于PyQt的可打包成.exe文件的货物管理系统.zip

基于PyQt的可打包成.exe文件的货物管理系统.zip

这些步骤都至关重要,因为打包后的应用程序需要在没有安装Python环境的计算机上运行,如果打包不成功或存在问题,那么将直接影响到系统的可用性。

ARTIS_MP_GEMCMS_GEMCMV_CN (1).pdf

ARTIS_MP_GEMCMS_GEMCMV_CN (1).pdf

ARTIS_MP_GEMCMS_GEMCMV_CN (1)

通用相机库:CameraLib

通用相机库:CameraLib

1. 统一接口层 :通过 ICamera 接口 + BaseCamera 抽象基类,定义了工业相机的通用能力(枚举设备、连接、采图、曝光/增益/触发模式等参数配置),让上层业务代码不依赖具体相机品牌。 2. 支持双图像格式输出 : - System.Drawing.Bitmap (适用于常规 WinForms/WPF 显示) - HalconDotNet.HObject (直接对接 Halcon 视觉算法库) 3. 当前已实现海康相机 : HiKCamera 基于 MvCameraControl.Net SDK,支持 GigE、USB、GenTL 等协议,包含软触发、硬触发、IO 控制、自动白平衡等功能。 4. 目标框架 : .NET 8-windows ,同时引用了 MVTec.HalconDotNet-Windows (Halcon 机器视觉库)。

【三菱】M800 M80 E80系列 PLC编程说明书.pdf

【三菱】M800 M80 E80系列 PLC编程说明书.pdf

【三菱】M800 M80 E80系列 PLC编程说明书

西门子V90伺服驱动器手册

西门子V90伺服驱动器手册

代码转载自:https://pan.quark.cn/s/a4b39357ea24 ProfiNet 西门子PLC

A powerful browser assistant for vibe surfing 一个开源的AI浏览器智能助手.zip

A powerful browser assistant for vibe surfing 一个开源的AI浏览器智能助手.zip

AI 解题助手,考试助手,在「面试」或「在线考试」时,借助AI实时提供解题思路和答案。

圆锥筛-LS40-60型圆锥筛的设计.rar

圆锥筛-LS40-60型圆锥筛的设计.rar

圆锥筛-LS40-60型圆锥筛的设计.rar

【生物信息学】基于AI大模型的基因筛选平台:多场景遗传病与药物靶点自动化分析系统设计

【生物信息学】基于AI大模型的基因筛选平台:多场景遗传病与药物靶点自动化分析系统设计

内容概要:本文提出了一套完整的AI基因筛选项目可执行落地方案,旨在通过AI大模型与生物信息学深度融合,构建标准化、高精度的基因筛选平台。项目聚焦遗传病、肿瘤、药物靶点和健康风险四大应用场景,采用“数据层-算法层-模型层-应用层”四层轻量化架构,利用公开合规数据集和生物大模型进行微调,实现基因变异自动化筛查与临床意义解读。方案明确了分阶段可量化目标,涵盖技术验证、商业化落地到规模化扩张的全过程,并配套详细的执行步骤、合规风控体系、团队配置与预算规划,确保项目低风险、低成本、高效推进。; 适合人群:具备生物信息学、AI算法或医疗科技背景的创业者、科研机构技术人员、健康管理企业产品经理及药企研发人员;适合关注AI+生命科学交叉领域的投资方与项目管理者。; 使用场景及目标:①为科研机构提供高通量基因筛选工具,提升研究效率;②助力医疗机构实现遗传病辅助诊断与健康风险评估;③支持药企开展新药靶点发现;④推动AI在基因分析中的合规化、产品化落地。; 阅读建议:此方案强调技术可行性与商业落地并重,建议读者结合自身资源聚焦细分场景切入,重点关注数据合规性、模型迭代机制与B端客户需求匹配,逐步构建技术壁垒与服务体系。

万能外圆磨床液压传动系统设计(论文+DWG图纸).rar

万能外圆磨床液压传动系统设计(论文+DWG图纸).rar

万能外圆磨床液压传动系统设计(论文+DWG图纸).rar

claude code接入本地ollama平台代理服务器

claude code接入本地ollama平台代理服务器

这是一个专门为 Ollama​ 本地大模型服务设计的 HTTP API 代理网关。它的核心功能是充当一个中间层,接收标准化的 AI 模型 API 请求,并将其转发到本地运行的 Ollama 服务。其最大特色是同时兼容 OpenAI 格式和 Anthropic (Claude) 格式的 API 请求,用户可以用它接入cc swithch,把claude code的信息传送到本地的ollama平台,使得原本为 OpenAI API 或 Claude API 开发的客户端、应用和工具,无需修改即可无缝连接到您本地的 Ollama 模型上运行。它有很好的扩展性,根据其他平台的接入协议,稍加修改,可以完成相应模型平台的代理服务。 使用说明: 环境:Python 3.13 Cc switch 3.16.1 Ollama 0.24.0 Claude code 2.1.158 步骤: 1、创建虚拟远程平台地址和端口,其中地址任意,端口为8321, http://xxx.xxx.xxx:8321; 2、设置映射,编辑本机的hosts文件,添加:127.0.0.1 xxx.xxx.xxx; 3、设置cc switch链接参数,其中请求地址必须与虚拟远程平台地址和端口一致:http://xxx.xxx.xxx:8321,默认兜底模型必须为本机ollama平台内已经安装成功的模型名称; 4、运行ollama和cc switch软件; 5、运行本服务器 6、打开系统终端,运行claude code 7、使用claude code终端与设置中模型对话

最新推荐最新推荐

recommend-type

PyPI 官网下载 | mlpack3-3.4.2-cp36-cp36m-manylinux1_x86_64.whl

资源来自pypi官网,解压后可用。 资源全名:mlpack3-3.4.2-cp36-cp36m-manylinux1_x86_64.whl
recommend-type

实现基于C++或者python基本库,初学学习之用.zip

人工智能-项目实践-机器学习
recommend-type

机器学习的一些基础算法,主要使用Python、Cpp、Matlab编写。.zip

matlab算法,适合毕业设计、课程设计作业,所有源码均经过严格测试,可以直接运行,可以放心下载使用。
recommend-type

jenkins-conf:Jenkins的配置文件

mlpack Jenkins配置和测试支持 该存储库包含Jenkins( )使用的许多脚本,用于构建和测试mlpack。
recommend-type

学生成绩管理系统C++课程设计与实践

资源摘要信息:"学生成绩信息管理系统-C++(1).doc" 1. 系统需求分析与设计 在进行学生成绩信息管理系统开发前,首先需要进行系统需求分析,这是确定系统开发目标与范围的过程。需求分析应包括数据需求和功能需求两个方面。 - 数据需求分析: - 学生成绩信息:需要收集学生的姓名、学号、课程成绩等数据。 - 数据类型和长度:明确每个数据项的数据类型(如字符串、整型等)和长度,例如学号可能是字符串类型且长度为一定值。 - 描述:详细描述每个数据项的意义,以确保系统能够准确处理。 - 功能需求分析: - 列出功能列表:用户界面应提供清晰的操作指引,列出所有可用功能。 - 查询学生成绩:系统应能通过学号或姓名查询学生的成绩信息。 - 增加学生成绩信息:允许用户添加未保存的学生成绩信息。 - 删除学生成绩信息:能够通过学号或姓名删除已经保存的成绩信息。 - 修改学生成绩信息:通过学号或姓名修改已有的成绩记录。 - 退出程序:提供安全退出程序的选项,并确保所有修改都已保存。 2. 系统设计 系统设计阶段主要完成内存数据结构设计、数据文件设计、代码设计、输入输出设计、用户界面设计和处理过程设计。 - 内存数据结构设计: - 使用链表结构组织内存中的数据,便于动态增删查改操作。 - 数据文件设计: - 选择文本文件存储数据,便于查看和编辑。 - 代码设计: - 根据功能需求,编写相应的函数和模块。 - 输入输出设计: - 设计简洁明了的输入输出提示信息和操作流程。 - 用户界面设计: - 用户界面应为字符界面,方便在命令行环境下使用。 - 处理过程设计: - 设计数据处理流程,确保每个操作都有明确的处理逻辑。 3. 系统实现与测试 实现阶段需要根据设计阶段的成果编写程序代码,并进行系统测试。 - 程序编写: - 完成系统设计中所有功能的程序代码编写。 - 系统测试: - 设计测试用例,通过测试用例上机测试系统。 - 记录测试方法和测试结果,确保系统稳定可靠。 4. 设计报告撰写 最后,根据系统开发的各个阶段,撰写详细的设计报告。 - 系统描述:包括问题说明、数据需求和功能需求。 - 系统设计:详细记录内存数据结构设计、数据文件设计、代码设计、输入/输出设计、用户界面设计、处理过程设计。 - 系统测试:包括测试用例描述、测试方法和测试结果。 - 设计特点、不足、收获和体会:反思整个开发过程,总结经验和教训。 时间安排: - 第19周(7月12日至7月16日)完成项目。 - 7月9日8:00到计算机学院实验中心(三楼)提交程序和课程设计报告。 指导教师和系主任(或责任教师)需要在文档上签名确认。 系统需求分析: - 使用表格记录系统需求分析的结果,包括数据项、数据类型、数据长度和描述。 - 分析数据项如学生成绩信息、状态器、链表节点等,确定其属性和行为。 以上就是文档中提到的学生成绩信息管理系统开发的关键知识点。开发此类系统需要熟练掌握C++编程基础,了解面向对象的程序设计思想,以及熟悉文件操作和链表等数据结构的应用。此外,良好的软件开发流程意识、测试意识和文档撰写能力也是必不可少的。
recommend-type

别再手动拖拽了!用Lumerical脚本批量创建FDTD仿真结构(附完整代码)

# 告别低效建模:Lumerical脚本自动化实战指南 在光子学仿真领域,时间就是科研生命线。当同行还在GUI界面里反复点击菜单时,你已经用脚本批量生成了20组参数化结构——这不是未来场景,而是每位FDTD用户都应该掌握的基础生产力革命。本文将彻底改变你与Lumerical的交互方式,从手动拖拽的农耕时代,跃迁到自动化建模的工业文明。 ## 1. 为何脚本建模是必然选择 2019年Nature Photonics的一项研究显示,科研工作者在仿真工具上平均浪费37%的时间在重复性操作上。对于需要参数扫描的纳米光学结构设计,这个数字可能更高。手动创建10个不同尺寸的纳米柱阵列意味着: -
recommend-type

Java邮件解析任务中,如何安全高效地提取HTML邮件内容并避免硬编码、资源泄漏和类型转换异常?

<think>我们被要求优化一段Java代码,该代码用于处理邮件(特别是来自特定发件人的构建通知邮件)。代码的主要问题包括: 1. 重复获取邮件内容:在检查MIME类型后,多次调用`msg[i].getContent()`,这可能导致性能问题或流关闭异常。 2. 类型转换问题:直接将邮件内容转换为`Multipart`而不进行类型检查,可能引发`ClassCastException`。 3. 代码结构问题:逻辑嵌套过深,可读性差,且存在重复代码(如插入邮件详情的操作在两个地方都有)。 4. 硬编码和魔法值:例如在解析HTML表格时使用了硬编码的索引(如list3.get(10)),这容易因邮件
recommend-type

RH公司应收账款管理优化策略研究

资源摘要信息:"本文针对RH公司的应收账款管理问题进行了深入研究,并提出了改进策略。文章首先分析了应收账款在企业管理中的重要性,指出其对于提高企业竞争力、扩大销售和充分利用生产能力的作用。然后,以RH公司为例,探讨了公司应收账款管理的现状,并识别出合同管理、客户信用调查等方面的不足。在此基础上,文章提出了一系列改善措施,包括完善信用政策、改进业务流程、加强信用调查和提高账款回收力度。特别强调了建立专门的应收账款回收部门和流程的重要性,并建议在实际应用过程中进行持续优化。同时,文章也意识到企业面临复杂多变的内外部环境,因此提出的策略需要根据具体情况调整和优化。 针对财务管理领域的专业学生和从业者,本文提供了一个关于应收账款管理问题的案例研究,具有实际指导意义。文章还探讨了信用管理和征信体系在应收账款管理中的作用,强调了它们对于提升企业信用风险控制和市场竞争能力的重要性。通过对比国内外企业在应收账款管理上的差异,文章总结了适合中国企业实际环境的应收账款管理方法和策略。" 根据提供的文件内容,以下是详细的知识点: 1. 应收账款管理的重要性:应收账款作为企业的一项重要资产,其有效管理关系到企业的现金流、财务健康以及市场竞争力。不良的应收账款管理会导致资金链断裂、坏账损失增加等问题,严重影响企业的正常运营和长远发展。 2. 应收账款的信用风险:在信用交易日益频繁的商业环境中,企业必须对客户信用进行评估,以便采取合理的信用政策,降低信用风险。 3. 合同管理的薄弱环节:合同是应收账款管理的法律基础,严格的合同管理能够保障企业权益,减少因合同问题导致的应收账款风险。 4. 客户信用调查:了解客户的信用状况对于预测和控制应收账款风险至关重要。企业需要建立有效的客户信用调查机制,识别和筛选信用良好的客户。 5. 应收账款回收策略:企业应建立有效的账款回收机制,包括定期的账款跟进、逾期账款的催收等。同时,建立专门的应收账款回收部门可以提升回收效率。 6. 应收账款管理流程优化:通过改进企业内部管理流程,如简化审批流程、提高工作效率等措施,能够提升应收账款的管理效率。 7. 应收账款管理策略的调整和优化:由于企业的内外部环境复杂多变,因此制定的管理策略需要根据实际情况进行动态调整和持续优化。 8. 信用管理和征信体系的作用:建立和完善企业内部信用管理体系和征信体系,有助于企业更好地控制信用风险,并在市场竞争中占据有利地位。 9. 对比国内外应收账款管理实践:通过研究国内外企业在应收账款管理上的不同做法和经验,可以借鉴先进的管理理念和方法,提升国内企业的应收账款管理水平。 综上所述,本文深入探讨了应收账款管理的多个方面,为RH公司乃至其他同类型企业提供了应收账款管理的改进方向和策略,对于财务管理专业的教育和实践都具有重要的参考价值。
recommend-type

新手别慌!用BingPi-M2开发板带你5分钟搞懂Tina Linux SDK目录结构

# 新手别慌!用BingPi-M2开发板带你5分钟搞懂Tina Linux SDK目录结构 第一次拿到BingPi-M2开发板时,面对Tina Linux SDK里密密麻麻的文件夹,我完全不知道从哪下手。就像走进一个陌生的大仓库,每个货架上都堆满了工具和零件,却找不到操作手册。这种困惑持续了整整两天,直到我意识到——理解目录结构比死记硬背每个文件更重要。 ## 1. 为什么SDK目录结构如此重要 想象你正在组装一台复杂的模型飞机。如果所有零件都混在一个箱子里,你需要花大量时间寻找每个螺丝和面板。但如果有分门别类的隔层,标注着"机身部件"、"电子设备"、"紧固件",组装效率会成倍提升。Ti
recommend-type

Java线程池运行时状态怎么实时掌握?有哪些靠谱的监控手段?

<think>我们之前已经讨论过Java线程池监控的多种方法,包括使用第三方工具和自定义监控。现在用户再次询问Java线程池监控方法,我们需要根据引用内容以及之前讨论的内容进行总结和扩展。 引用[1]提到使用JDK自带的监控工具,引用[2]提到了三种常用的线程池创建方式,引用[3]给出了通过ThreadPoolExecutor获取线程池状态的方法。 结合之前回答的内容,我们可以将监控方法分为以下几类: 1. 使用JDK自带工具(如jconsole, jvisualvm)进行监控。 2. 通过编程方式获取线程池状态(如引用[3]所示)。 3. 扩展ThreadPoolExecutor,