crazytyper是利用python语言以及wxpython ui库写成的一款英文练习打字软件,目的是练习校准指法以及提高打字的正确率和速度,面向人群为刚接触计算机的儿童学生,或急需提高打字速度的计算机专业人员。
crazytpyer的主界面主要又功能按钮和输入框组成。
- 使用了wx.TextCtrl作为基类,定义为只读,检测键盘敲击引发的wx.EVT_CHAR事件,利用事件的GetKeyCode()方法与当前光标位的字符进行比对。随后光标位后移。
- 由于原有的wx.TextCtrl对鼠标的事件有默认的相应,影响输入框的正常运行,遂将wx.EVT_LEFT_DOWN 和 wx.EVT_RIGHT_DOWN事件处理函数绑定为pass
- 指法图示:目前只是显示一张打字指法示意图。
- 选择教程:目前还没有绑定行为,以后会制作不同难度的素材,制作循序渐进的教程。
- 自定义练习:利用wx.FileDialog文件选择组件,自定义选择素材,所选择的素材经过mod_InitFile的抓换,将'\n'变成'↲\n',是为了将空格和回车区分开。
- 小游戏:目前还没有开发,准备后期使用pygame开发。
- 历史记录:每一次打字完成后,都会将正确率和平均速度存入log文件里,利用wx.lib.plot进行绘图。显示点图和折线图,观察进步情况。
- 目前界面是写死的,后改用xml重写。
- 历史记录用文件存储改为数据库存储,图表正确率和速度分开显示。