【Qt编程】基于Qt的词典开发系列--后序

从去年八月份到现在,总算完成了词典的编写以及相关技术文档的编辑工作。从整个过程来说,文档的编写比程序的实现耗费的时间更多。基于Qt的词典开发系列文章,大致包含了在编写词典软件过程中遇到的技术重点与难点。每篇文章都完成了一个小的功能,所给的代码都基本上是可以独立运行的。本系列文章对于想要自己动手完成词典软件的程序员来说具有很好的参考价值,对于想要编写其它软件的人来说也具有参考意义。


词典软件制作的初衷

2013的年终总结中,我提过想要学习一门界面编程语言,后来就选中了Qt。于是在2014年上半年,陆陆续续学了一些,那时候就想要做个东西出来,来巩固学习的东西,当时还不知道做个什么东西。有一次,我用有道词典时,就想到做一个类似的词典软件。当然了,有的人可能会说,不要重复造轮子,即使你写了一个词典软件,也肯定没有有道词典好。好吧,我承认我写的软件没有有道词典好,毕竟人家是一个专业的团队,而我就是一个刚入手没几个月的菜鸟。我做词典的目的也并不是期望大家都能拿来用,只是用作练练手。当然,也不能把自己的作品说得一文不值,毕竟自己也花心血来完成的,所以我也得强行说说我做的词典的优点。


词典软件的优点

对比于有道词典,我所做的词典软件的优点如下:

1、没有广告;2、自带8种本地词典;3、可以本地发音;4、换肤功能;5、自动补全;6、单词本也是扁平化(有道词典的单词本不是,不知道为啥还不改正)

对于缺点来说,还比较多,由于没有经过测试,因此还存在一些隐藏的bug,不过对于基本的使用来说影响不大。大致的优缺点在软件的帮助菜单中已经说明:


词典软件的技术文档

在词典软件完成半年之后,也就是研一下学期初,我开始动笔写关于词典制作过程中的技术要点。由于时间有限,还得给导师干项目,所以直到今天才得以完成所有的技术文章的撰写。本系列文章共有16篇,其中第一篇主要介绍了词典的整体框架与功能,分别描述了各个源文件的功能,而最后一篇(即本文)想当于是这一系列文章的后序。本系列文章的结构目录如下:

基于Qt的词典开发系列

  1. 词典框架设计及成品展示
  2. 本地词典的设计
  3. 开始菜单的设计
  4. 无边框窗口的缩放与拖动
  5. 无边框窗口的拖动
  6. 界面美化设计
  7. 调用网络API
  8. 用户登录及API调用的实现
  9. JSON数据解析
  10. 国际音标的显示
  11. 系统托盘的显示
  12. 调用讲述人
  13. 音频播放
  14. 自动补全功能
  15. HTML特殊字符及正则表达式
  16. 后序

作品下载地址(发布版):http://download.csdn.net/detail/tengweitw/8548767

作品下载地址(绿色版):http://download.csdn.net/detail/tengweitw/8830495

源码下载地址:http://download.csdn.net/detail/tengweitw/8830503


词典软件的成品及源码

本着开源精神,我将软件成品和源码的下载地址公布如下:

作品下载地址(发布版):http://download.csdn.net/detail/tengweitw/8548767

作品下载地址(绿色版):http://download.csdn.net/detail/tengweitw/8830495

源码下载地址:http://download.csdn.net/detail/tengweitw/8830503

声明:本词典软件的布局、图标、代码有部分是参考其它软件的部分,如有侵权,请联系我[email protected]。

词典项目的改进

十分欢迎有志之士来共同参与该软件的改进!

本软件的开发平台为window操作系统,Qt5.3.0版本。本人将源码在ubuntu下能成功运行,由于没有苹果电脑,未在MAC OS系统上测试过。我这里只提供了window系统下的词典软件,希望有人能够发布在linux和OS系统版本的词典软件。在目前该软件的背单词部分由于时间关系,尚未实现,同时该软件还存在一些bug。希望大家一起共同参与进来!拜谢大家!

词典项目交流群: 172672086


其它作品

Matlab版生日快乐歌

Matlab扫雷

Matlab及Java时钟

Qt扫雷

Qt时钟

3D迷宫游戏



原文:http://blog.csdn.net/tengweitw/article/details/46563781

作者:nineheadedbird

时间: 2024-10-29 19:07:23

【Qt编程】基于Qt的词典开发系列--后序的相关文章

【Qt编程】基于Qt的词典开发系列<七>--调用网络API

前面文章中我们实现了本地的词库设计,可以完成本地的查词功能,那么这篇文章主要讲一讲如何通过调用网络的api来实现词典的网络查词功能. 词典API的选择 基本上市面上做词典软件的公司都有对应的api,比如说有道.金山等等,不过一般都需要api key,有点麻烦,于是乎,我就找了个简单好用的扇贝网API:http://www.shanbay.com/help/developer/api/ 奇怪的是,该api说要停用了,可以从我去年暑假完成该软件制作,到如今为止,还能正常使用. 扇贝词典api的使用

【Qt编程】基于Qt的词典开发系列<二>--本地词典的设计

我设计的词典不仅可以实现在线查单词,而且一个重大特色就是具有丰富的本地词典库:我默认加入了八个类型的词典,如下所示: 由于是本人是通信专业,因此加入了华为通信词典.电子工程词典,又由于我喜爱编程,也加入了c语言基本函数词典.下面介绍如何设计本地词典: 词典类型的选择 当然是txt格式的最好了,因为我们可以用程序直接进行读取.可是网上词典一般都是用mdx格式.ld2格式的,我无法用Qt来直接读取.最终,经过不断摸索,网上查找,发现我们可以将mdx格式的词典通过软件转化为txt格式的! mdx词典的

【Qt编程】基于Qt的词典开发系列<九>--JSON数据解析

在上一篇文章<用户登录及API调用的实现>中,我通过程序实现了用户登录及API调用的实现.从而能够实现网络查词.添词的操作.可是.从上文中能够看到.调用API后返回的是JSON格式的数据,例如以下图所看到的(在QtCreator中的显示): 为了更好的观察JSON格式.我整理后显演示样例如以下: 显然.为了显示查词的结果,我们必须在上图中提取实用的信息,并正确的显示出来. 上图中每一行内容的意思我已经在文章<调用网络API>中作了解释.我在词典中选择想要显示的内容有:单词本身.单词

【Qt编程】基于Qt的词典开发系列&lt;九&gt;--JSON数据解析

在上一篇文章<用户登录及API调用的实现>中,我通过程序实现了用户登录及API调用的实现,从而能够实现网络查词.添词的操作.但是,从上文中可以看到,调用API后返回的是JSON格式的数据,如下图所示(在QtCreator中的显示): 为了更好的观察JSON格式,我整理后显示如下: 显然,为了显示查词的结果,我们必须在上图中提取有用的信息,并正确的显示出来.上图中每一行内容的意思我已经在文章<调用网络API>中作了解释.我在词典中选择想要显示的内容有:单词本身.单词ID.中文解释.英

【Qt编程】基于Qt的词典开发系列&lt;三&gt;--开始菜单的设计

这篇文章讲讲如何实现开始菜单(或者称为主菜单)的设计.什么是开始菜单呢?我们拿常用的软件来用图例说明,大多数软件的开始菜单在左下角,如下图: 1.window 7的开始菜单 2.有道词典的主菜单 3.QQ的开始菜单 4.我写的词典软件的开始菜单 当你左键单击开始菜单时,就会弹出相应的菜单选项,然后你就可以进行相关操作.本文只讲如何实现点击按钮,弹出菜单功能,至于点击菜单后的事件需要你自己编写.当然,关于右击按钮出现菜单的方法,则是要重写qt自带的函数,至于具体操作可以百度. 要想使按钮实现左键单

【Qt编程】基于Qt的词典开发系列&lt;三&gt;--界面美化设计

本文讲一讲界面设计,作品要面向用户,界面设计的好坏直接影响到用户的体验.现在的窗口设计基本都是扁平化的,你可以从window  XP与window 8的窗口可以明显感觉出来.当然除了窗口本身的效果,窗口中各种控件的特效也是特别重要的一环.下面讲讲我在词典软件中的一些设计:说到界面美化的设计,不得不提到美工,一个好的美工是想当的重要!软件毕竟少不了图标,而不懂美工的我,也就只能在网上使用别人的图标了. 如何得到网上的图标? 直接百度就可以了,当然还有另一种方法:就是从别人的文件中提取这些图标文件.

linux网络编程 基于TCP的程序开发

面向连接的TCP程序设计 基于TCP的程序开发分为服务器端和客户端两部分,常见的核心步骤和流程: 其实按照上面这个流程调用系统API确实可以完全实现应用层程序的开发,一点问题没有.可随着时间的推移,你会觉得这样子的开发毫无激情.为什么TCP的开发就要按照这样的流程来呢?而且一般出的问题几乎都不在这几个系统调用上,原因何在?当我们弄清网络开发的本质,协议栈的设计原理.数据流向等这些问题的答案也就会慢慢浮出水面了.接下来这几篇博文主要是围绕网络编程展开,目的是引出后面对于Linux下TCP/IP协议

【Qt系列】基于Qt的词典开发系列&lt;八&gt;--用户登录及API调用的实现

在上一篇文章<调用网络API>中,我只讲述了如何直观的使用API接口以及调用API后返回的结果,本文则从程序实现的角度来实现API的调用,当然本程序的实现也是借助于扇贝网的API接口文档http://www.shanbay.com/help/developer/api/. 由API文档可知,要想调用其API,必须先注册.因此,我就注册了,账户名为nineheadedbird, 密码为123456.显然,我们要查词,首先必须得登录该账户.如果用浏览器,那就很简单,只需单纯的输入用户名和密码就可以

QT-面向对象的QT编程,QT设计师

一.面向对象的编程 <案例>通过一个按钮更新时间显示,显示格式为xx:xx:xx //主函数文件 #include<QApplication> #include"TimeDialog.h" int main(int argc,char** argv){ QApplication app(argc,argv); TimeDialog time; time.show(); return app.exec(); } //类声明文件 #ifndef __TIMEDIAL