# red_theme_gui **Repository Path**: epiphanyers/red_theme_gui ## Basic Information - **Project Name**: red_theme_gui - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-10-20 - **Last Updated**: 2025-10-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 抗战记忆可视化系统 · Memory of Resistance 简介 本项目是基于 PyQt5 的桌面可视化应用,动态展示抗日战争英雄人物、重大战役、抗战精神与和平愿景,并支持青年留言实时保存与展示。首次运行会自动生成数据与占位图片素材。 运行环境 - Python 3.8+ - Windows/macOS/Linux 项目结构 ``` controller.py data_manager.py ui/ main_window.py heroes_view.py battles_view.py spirit_view.py peace_view.py message_view.py data/ data.json (首次运行自动生成) messages.json (首次运行自动生成) assets/ heroes/ battles/ main.py requirements.txt ``` 安装与运行 ```bash pip install -r requirements.txt python main.py ``` 功能说明 - 本程序以“代码铸魂:数字记忆中的抗战丰碑”为核心理念,我们以Python为笔,以PyQt5为卷,通过动态交互与庄重视觉,将抗日战争的宏伟史诗镌刻于数字屏幕之上,展现当代青年以技术传承红色基因、用创新铭记历史使命的青春担当。程序构建了四大主题模块,共同构筑起一座立体的数字记忆殿堂:在英雄人物厅,用户可通过网格卡片阵列了解杨靖宇、赵一曼等民族英烈的事迹;在重大战役轴,历史画卷以时间为序徐徐展开,通过流畅的切换与动画回放,重现台儿庄战役等关键节点;抗战精神与和平愿景以定时切换的展板,将伟大抗战精神与和平愿景融为一体,传递核心价值;而青年留言墙开辟了实时互动空间,让当代感悟在此汇聚成跨越代际的思想共鸣。 - 英雄人物:网格卡片(头像、姓名、简介),点击查看详细事迹与名言。 - 重大战役:按年份排序,展示配图与简介,支持上一场/下一场与约30fps文案回放动画。 - 抗战精神/和平愿景:定时自动切换展示。 - 青年留言:输入后即时写入 data/messages.json 并刷新显示。 数据与素材 - 首次运行自动生成 `data/data.json`(16位英雄、6场战役、8条精神、4条和平)与 `data/messages.json`。 - 若缺失图片,将打印“正在自动下载素材...”,并从 Wikimedia 占位图补齐到 `assets/`。 - 从 ffpyplayer 切换到 subprocess + ffplay 1. 克隆项目 git clone cd 2. 创建并激活 Python 虚拟环境 (强烈推荐) 3. 安装 Python 依赖 使用 pip 安装所有必需的 Python 包: pip install -r requirements.txt 如果 requirements.txt 不存在,请手动安装: pip install PyQt5 opencv-python numpy 4. 安装 FFmpeg (关键步骤) 本项目依赖 FFmpeg 来播放视频中的音频。仅安装 Python 库是不够的,你必须将 FFmpeg 程序安装到你的系统中。 Windows 用户 访问 FFmpeg 官网下载页面。 选择 Windows 版本,并下载一个完整的构建版本(例如来自 Gyan.dev 或 BtbN)。 解压下载的 .7z 文件到一个固定位置(例如 D:\tools\ffmpeg)。 将解压后的 bin 目录添加到系统的 Path 环境变量中。 例如,添加 D:\tools\ffmpeg\bin。 如何添加环境变量教程 重启你的终端和 IDE,使环境变量生效。 5. 验证 FFmpeg 安装 在新的终端中输入以下命令,如果显示版本信息,则说明安装成功。 ffmpeg -version 入口示例 ```python if __name__ == "__main__": import sys from PyQt5.QtWidgets import QApplication from ui.main_window import MainWindow app = QApplication(sys.argv) window = MainWindow() window.show() sys.exit(app.exec_()) ```