# TypingDrillLock **Repository Path**: yjcf/TypingDrillLock ## Basic Information - **Project Name**: TypingDrillLock - **Description**: # 🔒 打字专注锁定工具 (TypingDrillLock) > **专为电脑教室设计的高强制性、沉浸式打字练习软件** > *彻底解决学生课堂分心、切换窗口、多开程序等问题,让打字练习回归专注与高效。* - **Primary Language**: Python - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2025-12-22 - **Last Updated**: 2025-12-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 🔒 打字专注锁定工具 (TypingDrillLock) 综合版 > **专为电脑教室设计的高强制性、沉浸式打字练习软件** > > *彻底解决学生课堂分心、切换窗口、多开程序等问题,让打字练习回归专注与高效。* ## 📦 版本说明 **TypingDrillLock_v4.5.py** 是单文件使用版,不支持内容自定义,适合快速部署使用。 **TypingDrillLock_v4.6.py** 是增强版,引入了配置文件系统,支持自定义练习字库、鼓励语录和程序参数,适合需要个性化定制的高级用户。 ## 📖 项目简介 **TypingDrillLock** 是一款基于 Python (Tkinter) 开发的汉字练习工具。与普通打字软件不同,它的核心设计理念是 **"强制专注"**。 它能够自动识别屏幕分辨率,占据屏幕 90% 的空间,并屏蔽常规的关闭与切换操作。配合现代化的卡片式 UI、实时的虚拟键盘指引以及 Emoji 正向激励系统,在保证纪律的同时,提升学生的练习兴趣。 ## ✨ 核心特性 ### 🛡️ 强制专注系统 * **屏幕霸占**:自动适配 1920x1080 / 1600x900 等常用分辨率,占据 90% 屏幕空间,无标题栏,无法移动。 * **霸道聚焦**:后台线程每 0.5 秒强制抢占焦点,防止学生通过 Win 键或 Alt+Tab 切出。 * **按键屏蔽**:拦截 `Alt+F4` 关闭请求,屏蔽常规退出手段。 * **单例模式**:防止学生重复点击运行多个程序窗口。 * **参数启动**:支持通过命令行参数自定义目标字数。 ### 🎨 沉浸式体验 * **无干扰环境**:仅显示目标汉字和虚拟键盘,无其他元素,专注于打字练习。 * **卡片式布局**:输入框紧贴目标汉字下方,优化视线动线,减少眼部疲劳。 * **虚拟键盘指引**:底部集成 **1:1 仿真 QWERTY 键盘**,提供 F/J 盲打定位标记,实时高亮当前需要按下的键位。 * **英文字母提示**:在输入框下方显示当前需要输入的英文字母,方便学习对应拼音和字母。 * **暂停功能**:新增暂停按钮,最多3次暂停机会,每次暂停界面显示剩余暂停次数,帮助学生适当休息。 * **智能键盘提示切换**:当显示虚拟键盘时自动隐藏英文字母提示,隐藏键盘时恢复显示英文字母提示,优化用户界面体验。 ### 📊 数据可视化 * **实时仪表盘**:顶部居中显示 WPM (打字速度)、准确率、已用时间等关键指标。 * **可视化进度**:底部设有彩色进度条,直观展示练习完成度。 * **记录最近5次练习**:记录并显示最近5个练习的汉字和正确性。 * **汉字释义查询**:实时获取汉字释义,支持滚动查看完整内容。 ### 📚 内容支持 * **智能拼音**:基于 `pypinyin` 库,自动标注汉字拼音及对应英文字母。 * **海量字库**:内置 2500 常用汉字,随机出字,避免"背板"。 * **汉字释义查询**:集成网络查询功能,实时从汉典网站获取汉字释义,支持滚动查看完整内容,不可复制。 * **练习历史记录**:记录并显示最近5个练习的汉字和正确性。 ### ⚙️ 配置文件系统 (v4.6新增) * **自定义练习内容**:通过配置文件自定义练习字库,支持直接粘贴文章内容,程序自动提取汉字。 * **个性化鼓励语录**:可添加符合班级特色的鼓励语录,支持Emoji表情。 * **灵活参数设置**:可调整暂停次数、目标字数、版权文字等程序参数。 * **零配置启动**:首次运行自动创建配置文件,无需任何配置即可使用默认设置。 * **footer 显示版权信息**:在底部显示版权信息,防止用户复制内容。 ### 🏆 默认配置 * **默认暂停次数**:3次 * **默认目标字数**:100字 * **默认版权文字**:"Copyright © 2025 TypingDrillLock | Powered by 咿唔鱼" ### 🏆 学习激励 * **鼓励语录系统**:新增9条鼓励语录,在练习完成后随机显示,增强用户学习动力。 * **暂停功能**:提供最多3次暂停机会,每次暂停界面显示剩余暂停次数,帮助学生适当休息。 ## 🆚 版本对比 | 功能特性 | v4.5 | v4.6 | |---------|------|------| | 基础打字练习 | ✓ | ✓ | | 虚拟键盘指引 | ✓ | ✓ | | 汉字释义查询 | ✓ | ✓ | | 练习历史记录 | ✓ | ✓ | | 暂停功能 | ✓ | ✓ | | 鼓励语录系统 | ✓ | ✓ | | 配置文件支持 | ✗ | ✓ | | 自定义练习字库 | ✗ | ✓ | | 个性化鼓励语录 | ✗ | ✓ | | 灵活参数设置 | ✗ | ✓ | ## 🛠️ 安装与运行 ### 方式一:直接运行源码 (需 Python 环境) 1. 确保已安装 Python 3.x。 2. 安装依赖库: ```bash pip install pypinyin pip install requests pip install beautifulsoup4 ``` 3. 运行脚本: ```bash python TypingDrillLock_v4.5.py # 基础版本 # 或 python TypingDrillLock_v4.6.py # 增强版本 ``` ### 方式二:打包为 EXE (推荐教师使用) 为了在没有 Python 环境的学生机上运行,建议打包为可执行文件。 1. 安装 PyInstaller: ```bash pip install pyinstaller ``` 2. 执行打包命令(`-F` 为单文件,`-w` 为隐藏控制台,`-icon` 为同级目录下指定图标文件): ```bash pyinstaller -F -w --icon="icon.ico" TypingDrillLock_v4.5.py # 或 pyinstaller -F -w --icon="icon.ico" TypingDrillLock_v4.6.py ``` 3. 在 `dist` 文件夹中找到生成的 `.exe` 文件,分发给学生即可。 ## ⚙️ 配置说明 ### v4.5 版本配置 在代码顶部的 **配置区域**,您可以修改以下参数以适应教学需求: ```python # 【开关】 True = 显示退出按钮(测试用); False = 隐藏按钮(正式用) DEBUG_MODE = False # 练习过程中允许暂停的最大次数 MAX_PAUSE_COUNT = 3 # 默认的目标练习字数(如果不通过命令行参数启动) DEFAULT_TARGET_COUNT = 100 # 鼓励语录库 ENCOURAGING_QUOTES = [ "太棒了!你的努力,指尖都记得!✨", "行云流水,打字如风!你就是键盘侠!🚀", # ... 更多语录 ] # 常用字库 COMMON_CHARS = ( "一乙又厂七卜人入八九几儿了力乃刀冒映哗钩卸缸便俩狭眯" # ... 更多汉字 ) ``` ### v4.6 版本配置 v4.6 版本使用 `config.ini` 文件进行配置,首次运行时会自动创建该文件。 #### 配置文件结构 ```ini [Settings] # 练习过程中允许暂停的最大次数 max_pause_count = 3 # 默认的目标练习字数(如果不通过命令行参数启动) default_target_count = 100 # 底部版权文字显示 footer_text = Copyright © 2025 TypingDrillLock | Powered by 咿唔鱼 [Quotes] # ----------------------------------------------------------- # 在下方添加鼓励语录。 # 每行一句,【无需缩进】,直接换行即可。 # 支持 Emoji 表情。 # ----------------------------------------------------------- 太棒了!你的努力,指尖都记得!✨ 行云流水,打字如风!你就是键盘侠!🚀 坚持就是胜利,今天的你比昨天更优秀!💪 手指在跳舞,成绩在飞扬,为你点赞!👍 专注的力量是无穷的,继续保持!🌟 宝剑锋从磨砺出,你的速度越来越快了!🔥 厚积薄发,你的进步有目共睹!🌈 完美的节奏,精准的击键,这就是实力!💯 厉害!这进步速度超乎想象!🚀 [CharDB] # ----------------------------------------------------------- # 在下方添加常用字库。 # 程序会自动读取下方所有文字并合并,【无需缩进】。 # 你可以随意粘贴整段文章,程序会自动提取其中的汉字。 # ----------------------------------------------------------- 在此修改需要练习的文字 ``` #### 自定义配置示例 ```ini [Settings] max_pause_count = 5 default_target_count = 200 footer_text = 版权所有 © 2025 我的学习软件 [Quotes] 太棒了!你的努力,指尖都记得!✨ 你是最棒的!继续加油!🌟 自定义的鼓励语录... [CharDB] 在此输入需要练习的文字内容... ``` ## 📋 版本更新历史 ### v4.5 to v4.6 更新内容 1. **配置文件系统** - 引入 `config.ini` 配置文件,支持用户自定义设置 - 自动创建包含默认配置和详细注释的配置文件 - 配置文件包含三个主要部分:[Settings]、[Quotes]和[CharDB] 2. **用户体验改进** - 内容自定义:教师可以根据教学需要自定义练习字库 - 语录个性化:可以添加符合班级特色的鼓励语录 - 设置灵活:可以调整暂停次数、目标字数等参数 3. **技术改进** - 配置分离:将硬编码配置项移至配置文件 - 错误处理增强:配置文件读取失败时自动使用默认值 - 向后兼容:v4.5版本的用户可以直接升级到v4.6 ### v4 to v4.5 更新内容 1. **新增功能** - 智能键盘提示切换:当显示虚拟键盘时自动隐藏英文字母提示 - 鼓励语录系统:新增9条鼓励语录,在练习完成后随机显示 - 暂停功能增强:优化暂停界面设计,增加剩余暂停次数显示 2. **界面优化** - 键盘显示/隐藏切换:改进键盘显示/隐藏功能,同时调整内容区域布局 - 按钮边距调整:增加右侧工具栏按钮的边距,提升界面美观度 3. **技术改进** - 代码结构优化:重构键盘显示/隐藏相关代码,提高代码可维护性 - UI响应性提升:优化界面元素的位置调整逻辑,确保界面切换更加流畅 ## 🚀 使用建议 1. **基础用户**:推荐使用 v4.5 版本,开箱即用,无需配置。 2. **高级用户**:推荐使用 v4.6 版本,通过配置文件实现个性化定制。 3. **教师用户**:可以根据教学需求自定义练习字库和鼓励语录,提高教学效果。 4. **部署建议**:在教室环境中,建议打包为 EXE 文件分发,确保环境一致性。 ## 📝 注意事项 1. **网络连接**:汉字释义查询功能需要网络连接,请确保教室网络畅通。 2. **防火墙设置**:某些学校网络可能需要添加防火墙例外,以允许程序访问汉典网站。 3. **屏幕分辨率**:程序会自动适配常见分辨率,但在非标准分辨率下可能需要手动调整。 4. **配置备份**:使用 v4.6 版本时,建议定期备份 config.ini 文件,防止意外丢失自定义配置。 ## 📞 技术支持 如遇到问题或需要技术支持,请提供以下信息: 1. 使用的版本号(v4.5 或 v4.6) 2. 操作系统版本 3. 错误截图或详细描述 4. config.ini 文件内容(仅限 v4.6 版本问题) --- ## 📜 版权与协议 **TypingDrillLock** * **开发者**: [咿唔鱼] * **版本**: V4.6 * **协议**: MIT License (允许自由修改、分发及用于教学用途) * **技术栈**: Python, Tkinter, Pypinyin **Copyright © 2025 TypingDrillLock | Powered by 咿唔鱼** ---------------------------------------- *Created with ❤️ for better education.* ----------------------------------------