MetaCore-startup/MetaCore/README.md
2025-10-11 09:24:06 +08:00

211 lines
5.6 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# MetaCore - PyQt5版本
这是基于PyQt5重写的MetaCore项目管理平台完全复制了原始Web版本的界面和功能。
## 功能特性
### 🎯 主要功能
-**项目管理**:创建、导入、删除、重命名项目
-**项目卡片**:三段式布局(标题+菜单、图片+类型标签、时间)
-**收藏功能**:项目收藏/取消收藏
-**搜索过滤**:按名称搜索、按类型过滤
-**视图模式**:网格视图和列表视图
-**右键菜单**:完整的项目操作菜单
### 🎨 界面特性
-**深色主题**:现代化的深色界面设计
-**响应式布局**:自适应窗口大小
-**侧边栏导航**:可展开/收起的导航菜单
-**模态对话框**:创建项目和导入项目对话框
-**拖拽支持**:文件拖拽导入功能
## 安装和运行
### 1. 环境要求
- Python 3.7+
- PyQt5 5.15.0+
### 2. 安装依赖
```bash
pip install -r requirements.txt
```
### 3. 运行应用
```bash
python main.py
```
## 项目结构
```
MetaCore/
├── main.py # 主程序入口
├── requirements.txt # 依赖包列表
├── README_PyQt5.md # 说明文档
├── data/ # 数据模块
│ ├── __init__.py
│ ├── project_manager.py # 项目数据管理器
│ └── projects.json # 项目数据文件(自动生成)
└── ui/ # 界面模块
├── __init__.py
├── main_window.py # 主窗口
├── sidebar.py # 侧边栏组件
├── project_area.py # 项目显示区域
├── project_card.py # 项目卡片组件
├── create_project_dialog.py # 创建项目对话框
├── import_project_dialog.py # 导入项目对话框
└── styles.py # 样式表定义
```
## 主要组件说明
### 1. 主窗口 (MainWindow)
- 整体布局管理
- 菜单栏和状态栏
- 组件间信号连接
- 窗口事件处理
### 2. 侧边栏 (Sidebar)
- Logo区域
- 快速操作按钮
- 可展开的导航菜单
- 用户信息显示
### 3. 项目区域 (ProjectArea)
- 工具栏和搜索区域
- 网格/列表视图切换
- 项目卡片容器
- 空状态显示
### 4. 项目卡片 (ProjectCard)
- 三段式布局设计
- 悬停效果
- 右键菜单
- 收藏状态显示
### 5. 创建项目对话框 (CreateProjectDialog)
- 2:1布局比例
- 模板选择网格
- 项目信息表单
- 文件夹选择功能
### 6. 导入项目对话框 (ImportProjectDialog)
- 文件拖拽上传
- 导入选项配置
- 文件列表显示
- 进度反馈
## 数据管理
### 项目数据结构
```python
{
"id": 1,
"title": "项目名称",
"date": "2024-06-08 15:56:35",
"type": "industrial",
"image": "🏭",
"favorite": true,
"path": "/path/to/project"
}
```
### 支持的项目类型
- `industrial` - 工业项目 🏭
- `smart` - 智能项目 💧
- `vr` - VR项目 🥽
- `game` - 游戏项目 🎮
- `design` - 设计项目 🎨
- `empty` - 空白项目 📁
## 样式系统
### 主题色彩
- **主色调**:深灰色 (#1a1a1a, #2a2a2a)
- **边框色**:中灰色 (#3a3a3a, #4a4a4a)
- **强调色**:紫色 (#8b5cf6, #7c3aed)
- **文字色**:白色/灰色 (#ffffff, #cccccc, #888888)
### 组件样式
- 所有组件都有对应的ObjectName用于样式选择器
- 支持悬停状态和选中状态
- 统一的圆角和间距设计
- 平滑的过渡动画效果
## 信号和槽机制
### 主要信号
- `projects_changed` - 项目列表变化
- `project_added` - 项目添加
- `project_removed` - 项目删除
- `project_updated` - 项目更新
- `filter_changed` - 过滤条件变化
- `search_changed` - 搜索内容变化
### 事件处理
- 鼠标点击事件
- 键盘快捷键
- 拖拽事件
- 窗口事件
## 扩展功能
### 可以添加的功能
1. **项目模板系统**:真实的项目模板创建和应用
2. **文件管理**:项目内文件的管理和预览
3. **版本控制**Git集成和版本管理
4. **协作功能**:多用户协作和权限管理
5. **插件系统**:支持第三方插件扩展
6. **云同步**:项目数据云端同步
7. **导出功能**:项目打包和分享
### 性能优化
1. **虚拟滚动**:大量项目时的性能优化
2. **缓存机制**:图片和数据缓存
3. **异步加载**:大文件异步处理
4. **内存管理**:及时释放不用的资源
## 开发说明
### 添加新组件
1. 在`ui/`目录下创建新的组件文件
2. 继承适当的PyQt5基类
3. 实现`init_ui()`方法
4. 添加必要的信号定义
5. 在样式表中添加对应样式
### 修改样式
1. 在`ui/styles.py`中修改样式定义
2. 使用ObjectName作为选择器
3. 支持状态选择器(:hover, :checked等
4. 遵循现有的颜色和间距规范
### 数据持久化
- 项目数据自动保存到`data/projects.json`
- 应用关闭时自动保存
- 启动时自动加载历史数据
- 支持数据备份和恢复
## 与Web版本对比
### 相同功能
- ✅ 完全相同的界面布局
- ✅ 相同的项目管理功能
- ✅ 相同的视觉设计风格
- ✅ 相同的用户交互逻辑
### PyQt5版本优势
- ✅ 原生桌面应用体验
- ✅ 更好的性能表现
- ✅ 系统集成度更高
- ✅ 离线使用支持
- ✅ 文件系统直接访问
### 技术差异
- **Web版本**HTML + CSS + JavaScript
- **PyQt5版本**Python + PyQt5 + 自定义样式表
- **数据存储**JSON文件 vs 浏览器存储
- **文件操作**系统API vs Web API限制
这个PyQt5版本完全复制了Web版本的功能和外观同时提供了更好的桌面应用体验。