源码Github地址
https://github.com/tilmto/TILMTO/tree/master/Arithmetic
项目摘要
项目分为以下两种类型Core(计算核心)和UI(用户界面),UI组 负责把core组生成的四则运算表达式展现在用户界面上。
UI要求
1.对Core各属性参数(生成题目的数量,操作数的数量,题目及答案中的数值的范围……)进行设置;
2.调用Core模块得到题目和运算结果,显示题目,接受输入,并能判断答案是否正确;
3.增加“倒计时”功能,每个题目必须在20秒内完成,否则,得0分并进入下一题;
4.增加“错题记录”功能,对于答错的题,将其保存下来,当下次进行“复习”时,增大错题在练习题中的概率;
5.增加”历史纪录“功能,把用户做题的成绩纪录下来并可以展现历史纪录。
PSP表格
Statu |
Stages |
预估耗时/h |
实际耗时/h |
Accept |
——需求分析 |
0.5 |
0.5 |
Accept |
——技术学习 |
6 |
4 |
Accept |
——倒计时功能 |
2 |
1 |
Accept |
——错题读入功能 |
2 |
3 |
Accept |
——错题保存功能 |
2 |
1 |
Accept |
——历史记录功能 |
2 |
1.5 |
Accept |
——UI-core对接 |
3 |
6 |
Accept |
—— 测试 |
2 |
1 |
Accept |
——博客撰写 |
2 |
2.5 |
Accept |
——合计 |
21.5 |
20.5 |
UI使用指南
- 概述
软件名称为Arithmetic,为小学生提供自定制算术训练。
主页面如下:
上方有菜单栏和工具栏以及相应快捷键以供选择,用户可以利用他们生成随机算式、回顾错题、保存错题、查看历史成绩以及退出应用。每当鼠标移动到功能位置,下方状态栏会给出相应使用提示。
主界面的四个功能与菜单栏相应功能对应,用法详见菜单栏介绍。
- 菜单栏
菜单栏function下有五个选项,分别是:
- Generate:产生自定制随机算式,快捷键CTRL+G。
- Review:回复错题,点击打开文档搜索的界面,用户可以选择自己保存的错题文件(xml格式),快捷键CTRL+R。
- Save:保存错题,生成错题文档(xml格式),快捷键CTRL+S。
- History:查看历史做题记录,会显示正确题数/总题数以及对应成绩,快捷键CTRL+H。
- Close:关闭应用,快捷键Esc。
当鼠标停留在某一个功能上时,状态栏会给出这个功能的使用方式。例如,当鼠标停在 Generate 功能时,下方状态栏会有 Generate new exercisesrandomly 的提示。
- 工具栏
在工具栏中,我们又将这五项功能列了出来,使得用户可以通过移动工具栏停靠位置获得更好的体验。
- 功能介绍
Exercise/Generate:点击主界面的 Exercise 或菜单栏/工具栏的 Generate可产生随机算式,首先会弹出算式设置窗口,如图:
参数含义:
Exercise Num:生成的练习题数量,默认为10;
Max OperatorNum:运算符最大的数量,默认为5;
Range ofNumbers:算式中的最大数,需输入大于20的数,默认1000;
Precision ofDecimals:结果保留小数的精度,默认为2;
Has Fraction:可否出现带分数,默认为否;
Has Decimal:可否出现小数,默认为否;
Has Multiply/Divide:可否出现乘除号,默认为是;
Has Power:可否出现乘方,默认为否。
设置完成后点击randomgenerate生成随机算式。
生成题目界面如图所示:
每道题有20s的答题时间,时间一过文本框将无法输入。
回答完毕点击 ShowAnswers或者全部时间用完,系统进行批改并打分:
此时可以点击 Save 按钮,选择保存路径新建一个文件以保存错题。
Review:点击主界面或菜单栏/工具栏的review 功能,可读入Save的错题进行复习,重新训练并再次打分。
History:点击主界面或菜单栏/工具栏的History功能,可查看做题记录:
Close:点击主界面的Quit或菜单栏/工具栏的close即可退出程序。
具体代码分析
首先是打开程序的主页面,直接用UI设计即可(拖动控件),然后人为添加几个槽函数: