MetaCore-startup/MetaCore
陈横 fd3eb3e72a feat(ui): 优化项目导入和创建对话框界面
- 移除了创建项目对话框的最大尺寸限制,提升布局灵活性
- 调整了导入项目对话框中文件列表项的样式和结构
- 更新了图标管理器,新增 import_file_list 图标支持
- 修改了文件列表项组件,使用自定义图标并优化布局间距
- 调整了样式表中多个组件的尺寸和颜色,改善视觉效果
- 优化了文件列表项的显示逻辑,修复了可能的布局问题
- 更新了项目预览图片路径,确保正确显示项目封面
2025-10-23 18:56:28 +08:00
..
data UI更新 2025-10-17 16:56:28 +08:00
MetaCore UI更新 2025-10-17 16:56:28 +08:00
Resources feat(ui): 优化项目导入和创建对话框界面 2025-10-23 18:56:28 +08:00
scripts init 2025-10-11 09:24:06 +08:00
ui feat(ui): 优化项目导入和创建对话框界面 2025-10-23 18:56:28 +08:00
main.py 1.更新ubuntu虚拟路径启动方式 2025-10-11 12:33:46 +08:00
README.md init 2025-10-11 09:24:06 +08:00
requirements.txt init 2025-10-11 09:24:06 +08:00
test_open.py init 2025-10-11 09:24:06 +08:00
启动应用.bat init 2025-10-11 09:24:06 +08:00
验证安装.py init 2025-10-11 09:24:06 +08:00

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 - 搜索内容变化

事件处理

  • 鼠标点击事件
  • 键盘快捷键
  • 拖拽事件
  • 窗口事件

扩展功能

可以添加的功能

  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版本的功能和外观同时提供了更好的桌面应用体验。