0%

【Qt编程】基于Qt的词典开发系列--词典框架设计及成品展示

去年暑假的时候,作为学习Qt的实战,我写了一个名为《我爱查词典》的词典软件。后来由于导师项目及上课等原因,时间不足,所以该软件的部分功能欠缺,性能有待改善。这学期重新拿出来看时,又有很多东西都不熟悉了。恰逢这学期课比较少,于是乎想写写关于这个软件制作的一系列文章,对日后重拾该软件时能够较快入手。当然,也非常乐意读者们在该软件的基础上添加一些功能,源代码会在该系列文章写完之后公布。可运行的词典软件的下载地址:http://download.csdn.net/detail/tengweitw/8548767

下面先给出软件的架构,文章后面会给出各个功能展示图。

词典的功能模块

1、无边框窗口的拖动、放大缩小

2、系统托盘的显示

3、登录管理

4、用户账号显示

5、置顶、换肤、最小化、关闭按钮

6、调用本地浏览器查词

7、查词历史前进后退按钮

8、查词框、搜索按钮

9、三种查词:网络查词、本地查词、网页查词

10、单词信息显示窗口

11、主菜单:置顶、字体大小选择、匹配模式选择、注销、关于、退出

12、单词本

13、本地词典的选择模块

14、网上学堂

15、网络连通状态标志

16、本地词典使用状态

图1

工程目录文件

图2

图3

下面给出各个文件的大概功能说明:

1、basicwindow.h、basicwindow.cpp和basicwindow.ui文件定义了Basicwindow类,主要实现的是边框窗口的拖动和缩放,软件中其他的窗口设计大都继承该类

2、completelineedit.h和completelineedit.cpp文件定义了CompleteLineEdit类,该类主要是改进QLineEdit类,可以有下拉列表的显示,软件中功能8就用到该类。

3、libmanager.h、libmanager.cpp和libmanager.ui文件用于生成本地词典的选择界面。

4、localdict.h和localdict.cpp文件定义了LocalDict类,用于读取本地的词典库。

5、logindialog.h、logindialog.cpp和logindialog.ui定义了LoginDialog类,用于管理用户帐号的登录。

6、network.h和network.cpp文件定义了netWork类,用于根据扇贝网的公开API,使用帐号登录扇贝网,进行网络查词。

7、qmenubutton.h和qmenubutton.cpp定义了QMenuButton类,功能11继承了该类,使之可以出现下拉菜单。

8、searchwindow.h、searchwindow.cpp和searchwindow.ui定义了SearchWindow类,用于软件主界面的显示,这个是软件的核心部分。

9、word.h和word.cpp文件定义了Word类,主要用于储存从网络查词获得的单词内容。

10、wordbook.h、wordbook.cpp和wordbook.ui文件定义了WordBook类,用于管理单词本,此部分功能尚未实现。

11、wordmodify.h、wordmodify.cpp和wordmodify.ui文件定义了WordModify,用于单词本中单词的修改功能。


部分功能的展示图

1、主界面

图4

2、网络查词

图5

3、本地查词

图6

图7

4、网络搜索

图8

5、换肤功能

图9

6、搜索模式:句首匹配、句中匹配

图10

图11

7、主菜单

图12

8、托盘显示

图13

9、其他一些截图:

图14

图15

图16

图17

图18

图19

图20

图21

基于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

坚持原创技术分享,您的支持将鼓励我继续创作!