Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
O
Oil_Level_Recognition_System
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Administrator
Oil_Level_Recognition_System
Commits
f6177d04
Commit
f6177d04
authored
Nov 25, 2025
by
Yuhaibo
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'main' into Yuhaibo
parents
47ed7788
6d2e0f59
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
126 additions
and
1 deletions
+126
-1
CLEANUP_PLAN.md
handlers/modelpage/CLEANUP_PLAN.md
+2
-1
README.md
handlers/modelpage/README.md
+116
-0
test.py
handlers/test.py
+8
-0
No files found.
handlers/modelpage/CLEANUP_PLAN.md
View file @
f6177d04
...
...
@@ -4,7 +4,8 @@
现在
`ModelTestHandler`
已经成功集成,以下测试相关代码可以从
`model_training_handler.py`
中删除:
### 1. 测试方法(需要删除)
### 1. 测试方法(需要删除)3112414
| 方法名 | 大约行号 | 大约行数 | 状态 |
|--------|---------|---------|------|
...
...
handlers/modelpage/README.md
View file @
f6177d04
...
...
@@ -4,4 +4,120 @@
**已完成**
:成功将
`app.py`
第1000行后的模型管理功能代码独立出来,并按照功能分为不同的文件。
<<<<<<< HEAD
## 创建的文件结构
=======
## 创建的文件结构qfaefsf
```
detection/handlers/modelpage/
├── __init__.py # 模块初始化文件
├── model_sync_handler.py # 模型同步处理器
├── model_signal_handler.py # 模型信号处理器
├── model_set_handler.py # 模型集管理处理器
├── model_load_handler.py # 模型加载处理器
├── model_settings_handler.py # 模型设置处理器
└── README.md # 说明文档
```
## 功能模块划分
### 1. ModelSyncHandler (模型同步处理器)
**文件**
:
`model_sync_handler.py`
**功能**
: 处理模型管理面板与模型设置之间的同步
-
`_setupModelSync()`
: 建立模型管理面板与模型设置的同步
-
`refreshModelSync()`
: 刷新模型同步
-
`getModelPanelModels()`
: 获取模型管理面板中的所有模型信息
-
`getModelPanelModelByPath()`
: 根据路径获取模型信息
### 2. ModelSignalHandler (模型信号处理器)
**文件**
:
`model_signal_handler.py`
**功能**
: 处理模型相关的各种信号事件
-
`_onCreateModel()`
: 处理创建模型信号
-
`_onBrowseModelFile()`
: 浏览模型文件
-
`_onBrowseConfigFile()`
: 浏览配置文件
-
`_onBrowseClassesFile()`
: 浏览类别文件
-
`_onRunModelTest()`
: 运行模型测试
-
`_onBrowseTestFile()`
: 浏览测试文件
-
`_onBrowseSavePath()`
: 浏览保存路径
### 3. ModelSetHandler (模型集管理处理器)
**文件**
:
`model_set_handler.py`
**功能**
: 处理模型集的添加、编辑、删除、加载等功能
-
`_onAddModelSet()`
: 添加新模型到模型集
-
`_onEditModelSet()`
: 编辑模型集
-
`_onDeleteModelSet()`
: 删除模型集
-
`_onLoadModelSet()`
: 加载模型集到系统
-
`_browseModelFile()`
: 浏览模型文件
-
`_browseConfigFile()`
: 浏览配置文件
-
`_getFileSize()`
: 获取文件大小
-
`_saveNewModelToConfig()`
: 保存新模型到配置文件
### 4. ModelLoadHandler (模型加载处理器)
**文件**
:
`model_load_handler.py`
**功能**
: 处理各种类型模型的加载、状态管理等功能
-
`_loadModelToSystem()`
: 将模型加载到系统中
-
`_loadPyTorchModel()`
: 加载 PyTorch 模型
-
`_loadEncryptedModel()`
: 加载加密模型
-
`_loadONNXModel()`
: 加载 ONNX 模型
-
`_loadGenericModel()`
: 加载通用模型
-
`_saveModelLoadStatus()`
: 保存模型加载状态到配置
-
`getLoadedModels()`
: 获取已加载的模型列表
-
`isModelLoaded()`
: 检查模型是否已加载
-
`getModelLoadStatistics()`
: 获取模型加载统计信息
-
`showModelLoadStatistics()`
: 显示模型加载统计信息对话框
### 5. ModelSettingsHandler (模型设置处理器)
**文件**
:
`model_settings_handler.py`
**功能**
: 处理模型设置对话框和相关功能
-
`_onModelSettings()`
: 打开模型设置对话框
## 代码迁移详情
### 从 app.py 中删除的代码行数
-
**第1112-1152行**
: 模型同步功能 (40行)
-
**第1154-1246行**
: 模型信号处理功能 (92行)
-
**第1248-1516行**
: 模型集管理功能 (268行)
-
**第1518-1814行**
: 模型加载系统功能 (296行)
-
**第1816-2013行**
: 模型设置功能 (197行)
**总计删除**
: 约893行代码
### 保留在 app.py 中的代码
-
保留了模型同步相关的4个方法(1112-1152行),因为这些是基础功能
-
保留了页面切换和基础UI功能
-
保留了窗口关闭事件处理
## 优势
1.
**代码组织更清晰**
: 按功能模块分离,便于维护
2.
**职责单一**
: 每个处理器只负责特定功能
3.
**易于扩展**
: 新功能可以独立添加到对应处理器中
4.
**使用 Mixin 模式**
: 保持了原有的调用方式
5.
**无 Linter 错误**
: 所有文件通过了语法检查
## 技术实现
-
**Mixin 继承模式**
: 所有处理器都通过 Mixin 方式集成到 MainWindow
-
**统一初始化**
: 在
`__init__`
方法中统一初始化所有处理器
-
**保持接口一致**
: 原有的方法调用方式保持不变
-
**模块化设计**
: 每个功能模块独立,便于测试和维护
## 使用说明
所有功能已经成功迁移,原有的调用方式保持不变,因为使用了 Mixin 继承模式。例如:
```
python
# 这些调用方式保持不变
self
.
_setupModelSync
()
self
.
_onCreateModel
(
model_info
)
self
.
_onAddModelSet
()
self
.
_loadModelToSystem
(
model_name
,
model_params
)
self
.
_onModelSettings
()
```
## 总结
成功将
`app.py`
中第1000行后的模型管理功能代码(约893行)独立出来,按照功能分为5个不同的处理器文件,提高了代码的可维护性和可扩展性,同时保持了原有功能的完整性。
>>>>>>> main
handlers/test.py
0 → 100644
View file @
f6177d04
from
ast
import
main
123131441
fsafasa
main
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment