Qt:实现入门级英语学习软件
2017-11-18 23:19
369 查看
这是用Qt实现的一个入门级的英语学习软件,适用于初学者学习~这是我上学期学完C语言专业课后,自己上慕课网学了些C++便找了个框架来实践写的,而且界面的设计没有用Qt的designer拖动控件(也就是图形化编辑模式),是纯代码实现控件的布局所以会比较简陋= =。之所以在MFC和Qt这两个框架中选择了Qt,不仅仅是因为Qt很简洁很友好,更是因为Qt充分利用了面向对象的思想而且架构设计很美 跨平台特性优秀啊!同为C++的GUI框架,我觉得MFC确实是显得过时了。
|— English.pro
|— 头文件
| |— adddialog.h
| |— createconnection.h
| |— errorpractice.h
| |— home.h
| |— login.h
| |— mainwidget.h
| |— network.h
| |— recite.h
| |— register.h
| |— search.h
| |— setting.h
| |— test.h
| |— translate.h
|— 源文件
| |— main.cpp
| |— adddialog.cpp
| |— errorpractice.cpp
| |— home.cpp
| |— login.cpp
| |— mainwidget.cpp
| |— network.cpp
| |— recite.cpp
| |— register.cpp
| |— search.cpp
| |— setting.cpp
| |— test.cpp
| |— translate.cpp
|— 资源文件
| |— images.qrc(包含图片和用于更换主题的css文件)
1.登录注册+主页预览
2.翻译+查看历史记录
3.查单词(本地查询与联网查询)+查询预测(例如输入a会有a开头的单词)+单词发音+添加单词( 添加至本地数据库)+历史记录
4.背单词+错题练习+题目收藏
5.词汇量测试
6.设置字体属性+设置背景颜色+设置主题
实现:(Qt的信号与槽机制很简洁)
数据库用的是Qt自带的超轻量级的开源软件SQLite,数据库中有4张表分别对应账户管理、单词查询、背单词、词汇量测试功能。翻译则是用网络相关的类管理网络请求(http的GET请求),调用有道翻译的api然后用QJSON相关类解析其返回的JSON数据。错题和收藏功能可以在数据库中用两个变量标记为1或0实现。设置主题功能是利用了Qt样式表QSS来更改控件的属性。
总结:开始写程序之前可以先构思软件功能的架构图、思维导图,遇到困难可以google或者试着查看Qt文档解决。
![](https://img-blog.csdn.net/20171118232036407?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2VpeGluXzM3NDEzMDM1/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
![](https://img-blog.csdn.net/20171118232144799?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2VpeGluXzM3NDEzMDM1/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
![](https://img-blog.csdn.net/20171118232259554?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2VpeGluXzM3NDEzMDM1/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
![](https://img-blog.csdn.net/20171118232331283?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2VpeGluXzM3NDEzMDM1/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
//英语学习软件(English Learning)
//这是本博文软件的源码可以供初学者参考~
http://download.csdn.net/download/weixin_37413035/10124220
//快译(quickTranslator)
//这个作品来自我一个很6的同学,功能上差不多,不过据说他用了些设计模式的东西
工程目录
English|— English.pro
|— 头文件
| |— adddialog.h
| |— createconnection.h
| |— errorpractice.h
| |— home.h
| |— login.h
| |— mainwidget.h
| |— network.h
| |— recite.h
| |— register.h
| |— search.h
| |— setting.h
| |— test.h
| |— translate.h
|— 源文件
| |— main.cpp
| |— adddialog.cpp
| |— errorpractice.cpp
| |— home.cpp
| |— login.cpp
| |— mainwidget.cpp
| |— network.cpp
| |— recite.cpp
| |— register.cpp
| |— search.cpp
| |— setting.cpp
| |— test.cpp
| |— translate.cpp
|— 资源文件
| |— images.qrc(包含图片和用于更换主题的css文件)
功能实现
总体的功能架构还是比较简单啦,分为以下几部分:1.登录注册+主页预览
2.翻译+查看历史记录
3.查单词(本地查询与联网查询)+查询预测(例如输入a会有a开头的单词)+单词发音+添加单词( 添加至本地数据库)+历史记录
4.背单词+错题练习+题目收藏
5.词汇量测试
6.设置字体属性+设置背景颜色+设置主题
实现:(Qt的信号与槽机制很简洁)
数据库用的是Qt自带的超轻量级的开源软件SQLite,数据库中有4张表分别对应账户管理、单词查询、背单词、词汇量测试功能。翻译则是用网络相关的类管理网络请求(http的GET请求),调用有道翻译的api然后用QJSON相关类解析其返回的JSON数据。错题和收藏功能可以在数据库中用两个变量标记为1或0实现。设置主题功能是利用了Qt样式表QSS来更改控件的属性。
总结:开始写程序之前可以先构思软件功能的架构图、思维导图,遇到困难可以google或者试着查看Qt文档解决。
运行效果
源码
http://download.csdn.net/download/weixin_37413035/10124213//英语学习软件(English Learning)
//这是本博文软件的源码可以供初学者参考~
http://download.csdn.net/download/weixin_37413035/10124220
//快译(quickTranslator)
//这个作品来自我一个很6的同学,功能上差不多,不过据说他用了些设计模式的东西
相关文章推荐
- 可作为学习和研究的工具的英语学习软件
- 软件开发入门学习的个人看法(转贴自dearbook)
- 软件开发入门学习的个人看法(转贴自dearbook)
- 学习PSP软件自制编程入门教程
- ITCAST视频-Spring学习笔记(使用Spring的注解方式实现AOP入门)
- 祖代屠户出身 英语学习软件
- [ZT]软件开发入门学习的个人看法(转贴自dearbook)
- 简单图形编程的学习(2)---点 (Qt实现)
- 软件开发 英语学习播放器2010
- 软件测试入门学习记
- QT布局管理程序实现的学习
- Qt 学习(8)Qt Creator中鼠标键盘事件的处理实现自定义鼠标指针(转)
- 简单图形编程的学习(1)---文字 (Qt实现)
- jQuery入门学习之实现滑动效果:slideUp()和slideDown()小总结
- 软件开发入门学习的个人看法
- EnMp3Player 学习英语口语的好软件(MP3复读机)
- 软件开发入门学习的个人看法
- 软件开发入门学习的个人看法(转自j2megame)
- 基于数据库的英语单词辅助学习软件的优势
- 软件开发入门学习的个人看法