| .. | ||
| data | ||
| MetaCore/Resources/ProjectPreviews | ||
| Resources/Icons | ||
| scripts | ||
| ui | ||
| main.py | ||
| README.md | ||
| requirements.txt | ||
| test_open.py | ||
| 启动应用.bat | ||
| 验证安装.py | ||
MetaCore - PyQt5版本
这是基于PyQt5重写的MetaCore项目管理平台,完全复制了原始Web版本的界面和功能。
功能特性
🎯 主要功能
- ✅ 项目管理:创建、导入、删除、重命名项目
- ✅ 项目卡片:三段式布局(标题+菜单、图片+类型标签、时间)
- ✅ 收藏功能:项目收藏/取消收藏
- ✅ 搜索过滤:按名称搜索、按类型过滤
- ✅ 视图模式:网格视图和列表视图
- ✅ 右键菜单:完整的项目操作菜单
🎨 界面特性
- ✅ 深色主题:现代化的深色界面设计
- ✅ 响应式布局:自适应窗口大小
- ✅ 侧边栏导航:可展开/收起的导航菜单
- ✅ 模态对话框:创建项目和导入项目对话框
- ✅ 拖拽支持:文件拖拽导入功能
安装和运行
1. 环境要求
- Python 3.7+
- PyQt5 5.15.0+
2. 安装依赖
pip install -r requirements.txt
3. 运行应用
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)
- 文件拖拽上传
- 导入选项配置
- 文件列表显示
- 进度反馈
数据管理
项目数据结构
{
"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- 搜索内容变化
事件处理
- 鼠标点击事件
- 键盘快捷键
- 拖拽事件
- 窗口事件
扩展功能
可以添加的功能
- 项目模板系统:真实的项目模板创建和应用
- 文件管理:项目内文件的管理和预览
- 版本控制:Git集成和版本管理
- 协作功能:多用户协作和权限管理
- 插件系统:支持第三方插件扩展
- 云同步:项目数据云端同步
- 导出功能:项目打包和分享
性能优化
- 虚拟滚动:大量项目时的性能优化
- 缓存机制:图片和数据缓存
- 异步加载:大文件异步处理
- 内存管理:及时释放不用的资源
开发说明
添加新组件
- 在
ui/目录下创建新的组件文件 - 继承适当的PyQt5基类
- 实现
init_ui()方法 - 添加必要的信号定义
- 在样式表中添加对应样式
修改样式
- 在
ui/styles.py中修改样式定义 - 使用ObjectName作为选择器
- 支持状态选择器(:hover, :checked等)
- 遵循现有的颜色和间距规范
数据持久化
- 项目数据自动保存到
data/projects.json - 应用关闭时自动保存
- 启动时自动加载历史数据
- 支持数据备份和恢复
与Web版本对比
相同功能
- ✅ 完全相同的界面布局
- ✅ 相同的项目管理功能
- ✅ 相同的视觉设计风格
- ✅ 相同的用户交互逻辑
PyQt5版本优势
- ✅ 原生桌面应用体验
- ✅ 更好的性能表现
- ✅ 系统集成度更高
- ✅ 离线使用支持
- ✅ 文件系统直接访问
技术差异
- Web版本:HTML + CSS + JavaScript
- PyQt5版本:Python + PyQt5 + 自定义样式表
- 数据存储:JSON文件 vs 浏览器存储
- 文件操作:系统API vs Web API限制
这个PyQt5版本完全复制了Web版本的功能和外观,同时提供了更好的桌面应用体验。