一个类似「金山打字通」的桌面打字练习软件,使用 PySide6 (Python + Qt6) 开发。 Qt 底层为编译好的 C++,启动快、内存占用小(约 80MB),界面用 QSS 定制成现代风格。
- 首页:累计练习概览 + 功能入口
- 指法练习:屏幕键盘按八指分工着色,实时高亮「下一个键」与「按下的键」
- 英文打字:单词(简单/进阶/高级三档难度)
- 汉字打字:显示汉字,通过中文输入法(如微软拼音)逐字录入
- 数字练习:个位 / 四位数 / 八位数
- 符号练习:常用符号
- 打字测试:1 分钟限时 / 自由测试,结束后展示速度(字/分)、WPM、准确率、错字
- 打字游戏:字母雨,敲击对应字母击落,关卡加速
- 统计:历史成绩表格 + 近 12 次速度柱状图
- 设置:明暗主题切换、提示音效开关(设置自动保存)
提示:英文单词、数字、符号之间的空格会自动跳过,无需手动敲空格。
- Windows 10/11
- Python 3.9+(本项目在 3.11 上开发)
:: 1) 安装依赖(只需一次)
python -m pip install -r requirements.txt
:: 2) 运行
python main.py或直接双击 run.bat。
python -m unittest discover -s tests -vpython -m pip install pyinstaller
python -m PyInstaller --noconfirm --clean --windowed --name 打字通 --hidden-import winsound main.py- 产物在
dist\打字通\,含打字通.exe+_internal\(Python 运行时、PySide6、Qt 插件 DLL) - 分发时需把整个
dist\打字通\文件夹一起拷贝(exe 与_internal必须同目录) - 启动快、稳定,Qt DLL 以外部文件形式存在
python -m PyInstaller --noconfirm --clean --windowed --onefile --name 打字通 --hidden-import winsound main.py- 生成单个
dist\打字通.exe,运行时解压到临时目录,首次启动稍慢
每次构建都会生成
打字通.spec构建脚本,可复用;中间的build\目录可安全删除。
打字通/
├── main.py # 程序入口
├── run.bat # 双击运行
├── requirements.txt
├── app/
│ ├── typing_engine.py # 打字引擎(计时/速度/准确率)
│ ├── content.py # 练习内容生成
│ ├── stats.py # 成绩持久化(JSON)
│ ├── settings.py # 设置持久化(JSON)
│ ├── sound.py # 系统提示音
│ ├── theme.py # 主题配色 + QSS
│ ├── keymap.py # 按键映射
│ ├── passage_view.py # 打字文本视图
│ ├── on_screen_keyboard.py # 屏幕键盘
│ ├── main_window.py # 主窗口
│ └── screens/ # 各页面
└── tests/test_engine.py # 单元测试
成绩与设置保存在用户目录:%USERPROFILE%\.typing_tutor\。