# Electronic-photo-album **Repository Path**: Sean_W/Electronic-photo-album ## Basic Information - **Project Name**: Electronic-photo-album - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-08-12 - **Last Updated**: 2025-08-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 电子相册项目简介 📸 本项目是一个基于 Qt 开发的桌面端电子相册程序,支持项目管理、图片浏览、幻灯片播放、图片导入、多线程操作等功能。项目结构清晰,界面简洁。 --- ## 🌟 项目特点 - 项目管理:支持创建和打开多个相册项目,自动维护项目结构。 - 图片导入:支持文件夹导入,自动添加至目录树中。 - 幻灯播放:实现图片的渐隐渐显切换动画。 - 响应式界面:目录树与图片展示区域联动。 - 多线程处理:导入/创建项目使用线程,避免 UI 卡顿。 - 进度反馈:支持操作过程的进度显示与中断。 - 支持设置启动项与右键菜单操作。 --- ## 📁 项目结构与核心类说明 ### `QMainWindow` 主窗口类 - 管理主界面布局,显示左侧项目树与右侧图片展示区。 - 显示菜单项,关联用户操作逻辑。 - 支持打开/创建项目,使用 `map` 管理多个项目。 ### `Wizard` 向导类 - 引导用户创建项目,包含项目属性设置页和确认页。 - 创建完成后通过 `SigProSettings` 信号通知目录树添加新项目。 - 自动检测项目名与路径合法性。 ### `ProTree` 目录树类 - 左侧项目管理区域,支持添加、导入、轮播、设为启动项等操作。 - 接收向导信号添加新项目。 - 与 UI 文件中升级的 `ProTreeWidget` 配合使用,增强目录树功能。 ### `ProTreeWidget` 目录树 UI 类 - 自定义 `QTreeWidget`,用于实现项目目录结构。 - 支持右键菜单(导入文件、关闭项目、设为启动项、幻灯片播放等)。 - 支持响应打开/创建项目信号,启动多线程处理文件。 - 管理进度条、双击显示、路径去重、启动项高亮等功能。 ### `ProTreeThread` / `OpenTreeThread` 多线程类 - 用于项目创建/打开时复制图片文件,提升效率。 - 支持中途取消、实时更新进度、发送完成信号。 ### `PicAnimationWid` 动画播放类 - 实现图片渐隐渐显切换动画。 - 支持自动播放、切换图片、响应目录树点击等。 ### `PicShow` 图片展示类 - 管理右侧图片展示区域。 - 支持图片切换、按钮渐显、响应目录树选择操作等。 --- ## 🧠 技术要点 - 使用 Qt 多线程机制(`QThread`)处理大量文件操作。 - 自定义 `QTreeWidget` 扩展功能,使用右键菜单和状态缓存。 - 使用 `QWizard` 实现向导式项目创建流程。 - 采用双缓冲绘图与 alpha 淡入淡出实现平滑过渡动画。 - UI 逻辑与数据管理分离,代码结构清晰、扩展性强。 --- ## 🧠 功能展示 ![b71e10badbb55c36b159741c845bc5e](https://github.com/user-attachments/assets/7e46a718-ea56-4749-874c-8e8bad17766f) ![9c1d9fb37fdbfa6fe425beac79cc1d2](https://github.com/user-attachments/assets/63c684a8-1ee5-4aa0-b356-9f77f1bc29b1) ![761f5105b35e0e9ddb45b08c8f94e78](https://github.com/user-attachments/assets/74107298-45fb-449c-8ac6-8d806a2e9880) ## 🚀 项目运行 ### 环境要求 - Qt6 - C++11 标准支持 - CMake 或 Qt Creator 构建工具