# ShortVideoClient **Repository Path**: xpx_xpe/ShortVideoClient ## Basic Information - **Project Name**: ShortVideoClient - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 108 - **Created**: 2026-06-08 - **Last Updated**: 2026-06-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 抖音短视频客户端 一个使用 PyQt6 开发的简易短视频客户端,模仿抖音官网的界面设计和交互逻辑。 ## 功能特性 - ✅ **三栏布局**:左侧边栏 + 顶部栏 + 主内容区 - ✅ **四个视图**:精选(3列网格)、推荐(单列列表)、关注、我的 - ✅ **视频播放**:完整的内嵌播放器,支持播放控制 - ✅ **响应式布局**:卡片自动适应窗口大小 - ✅ **搜索功能**:实时过滤视频(标题+作者) - ✅ **关注功能**:关注作者并查看其视频 - ✅ **个人中心**:用户信息和统计数据展示 - ✅ **深色主题**:极简未来风格,白色字体+红色高亮 ## 技术栈 - **Python 3.x** - **PyQt6** - GUI框架 - **PyQt6-multimedia** - 视频播放支持 ## 安装依赖 ```bash pip install -r requirements.txt ``` 或手动安装: ```bash pip install PyQt6 PyQt6-multimedia ``` ## 运行程序 ```bash cd E:\星星 python src\main.py ``` ## 项目结构 ``` E:\星星\ ├── src/ │ ├── main.py # 程序入口 │ ├── ui/ # UI组件 │ │ ├── main_window.py # 主窗口 │ │ ├── sidebar.py # 左侧导航栏 │ │ ├── topbar.py # 顶部功能栏 │ │ ├── video_grid_view.py # 精选视图(3列网格) │ │ ├── video_list_view.py # 推荐视图(单列列表) │ │ ├── follow_page.py # 关注页面 │ │ ├── profile_page.py # 个人中心 │ │ └── video_player.py # 视频播放器 │ ├── widgets/ # 通用组件 │ │ ├── video_card.py # 视频卡片 │ │ ├── flow_layout.py # 流式布局管理器 │ │ └── player_controls.py # 播放器控制条 │ ├── models/ # 数据模型 │ │ ├── video_model.py # 视频模型 │ │ └── user_model.py # 用户模型 │ ├── services/ # 服务层 │ │ └── video_service.py # 视频资源加载 │ └── styles/ # 样式 │ └── theme.qss # Qt样式表 ├── src/videos/ # 视频文件目录 ├── src/images/ # 图片资源目录 ├── openspec/ # OpenSpec规范文档 ├── requirements.txt # 依赖包列表 └── README.md # 项目说明 ``` ## 使用说明 ### 导航切换 - 点击左侧边栏的"精选"、"推荐"、"关注"、"我的"切换不同视图 ### 视频浏览 - **精选视图**:3列流式网格布局,卡片自适应窗口宽度 - **推荐视图**:单列垂直列表,卡片占满宽度 ### 视频播放 - 点击任意视频卡片即可在当前窗口播放视频 - 播放器控制条包含:播放/暂停、进度条、音量、全屏、关闭 ### 搜索功能 - 在顶部搜索框输入关键词,实时过滤视频 - 搜索范围:视频标题和作者名称 - 点击清空按钮(✕)恢复全部视频 ### 关注功能 - 点击视频卡片右上角的"关注"按钮关注作者 - 切换到"关注"页面查看已关注作者的视频 - 再次点击"已关注"按钮可取消关注 ### 个人中心 - 切换到"我的"页面查看用户信息 - 显示头像、用户名、账号ID - 统计数据显示:喜欢、收藏、关注、粉丝数量 ## 设计规范 ### 颜色方案 - 主背景色:`#1a1a1a`(深灰) - 侧边栏背景:`#242424` - 卡片背景:`#2a2a2a` - 文字颜色:`#ffffff`(白色) - 次要文字:`#b0b0b0`(灰色) - 高亮色:`#fe2c55`(抖音红) ### 尺寸规范 - 侧边栏宽度:80px(固定) - 顶部栏高度:60px(固定) - 卡片最小尺寸:200×267px(3:4比例) - 卡片间距:16px - 推荐视图留白:左右24px,上下20px ## 注意事项 1. **视频文件**:确保 `src/videos/` 目录下有 `.mp4` 格式的视频文件 2. **图片资源**:确保 `src/images/` 目录下有 `card*.jpeg` 缩略图和 `logo2.svg` 3. **PyQt6-multimedia**:必须安装此扩展才能播放视频 4. **窗口尺寸**:建议初始窗口大小为 1280×720 或更大 ## 后续扩展方向 - [ ] 用户认证系统 - [ ] 评论、点赞、分享功能 - [ ] 智能推荐算法 - [ ] 视频上传功能 - [ ] 直播功能 - [ ] 消息系统 ## 开发说明 本项目采用规范驱动编程(SDD)方法开发,所有需求文档和设计文档位于 `openspec/changes/douyin-short-video-client/` 目录。 ## License 本项目仅供学习和教学使用。