开发者社区> tengweitw> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

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

简介: 前面文章中我们实现了本地的词库设计,可以完成本地的查词功能,那么这篇文章主要讲一讲如何通过调用网络的api来实现词典的网络查词功能。
+关注继续查看

前面文章中我们实现了本地的词库设计,可以完成本地的查词功能,那么这篇文章主要讲一讲如何通过调用网络的api来实现词典的网络查词功能


词典API的选择

基本上市面上做词典软件的公司都有对应的api,比如说有道、金山等等,不过一般都需要api key,有点麻烦,于是乎,我就找了个简单好用的扇贝网API:http://www.shanbay.com/help/developer/api/ 奇怪的是,该api说要停用了,可以从我去年暑假完成该软件制作,到如今为止,还能正常使用。


扇贝词典api的使用

进入上面我给的扇贝网的api地址,我们可以看出该api文档还是比较详细。像我这种从未接触过网络编程的人来说,也能比较了解。下面我们来简单说说怎么使用这些api。由于我词典的功能只有查词、添加单词两种功能,因此只需要使用文档中的对应的api接口就可以了。

在api介绍的开始处,有下面的文字如下:
这里写图片描述

因此,在使用该api时,我们必须首先注册!完成注册并登录后,我们继续查看api文档,由于我们只实现查询单词和保存单词的功能(当然也可以实现文档中的其它功能,使用方法类似),因此只需关注下面如图所示的内容就够了:
这里写图片描述
有可能你看了图中的内容,还是一头雾水,那么我们可以先尝试一下。首先确保已经登录了扇贝网,然后在浏览器中输入http://www.shanbay.com/api/word/test ,然后我们就可以看到如下的内容:
这里写图片描述

图中的内容就是我们查询test单词所得到的结果。如果我们想要保存该单词,则只需要在浏览器中输入:http://www.shanbay.com/api/learning/add/test 我们得到的结果如下:

这里写图片描述

上图说明这个单词已经被我们保存了,并且给予了它一个编号。因此,当我们再查询该单词的时候,即在浏览器中输入:http://www.shanbay.com/api/word/test 会发现id不再是0,而是与上面的编号相同:
这里写图片描述
到目前为止,上述的操作都不涉及到编程,都是直接在浏览器中进行的操作。然而,我们想要在词典中实现该功能,则就不得不面对两个问题:1、编程实现用户的登录及调用api;2、解析调用api后返回的json格式的数据。

上述的两个问题都会在后续的系列文章中予以解决,敬请关注。


基于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://blog.csdn.net/tengweitw/article/details/45484803

作者:nineheadedbird

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
qt开发从入门到实战1
qt开发从入门到实战1
0 0
教你用Qt开发一个串口上位机控制LED
教你用Qt开发一个串口上位机控制LED
0 0
Qt+ECharts开发笔记(五):ECharts的动态排序柱状图介绍、基础使用和Qt封装Demo
上一篇的demo使用隐藏js代码的方式,实现了一个饼图的基本交互方式,并预留了Qt模块对外的基础接口。   本篇的demo实现了自动排序的柱状图,实现了一个自动排序柱状图的基本交互方式,即Qt调用js脚本操作html。   本篇demo使用Qt定时器方式,实现数据定时刷新自增,并预留出了定时器间隔参数。   像大数据网页常看的人口增长时间图,收入年度增长时间图等都是这一类。
0 0
Qt+ECharts开发笔记(四):ECharts的饼图介绍、基础使用和Qt封装百分比图Demo
前一篇介绍了横向柱图图。本篇将介绍基础饼图使用,并将其封装一层Qt。本篇的demo使用隐藏js代码的方式,实现了一个饼图的基本交互方式,并预留了Qt模块对外的基础接口。
0 0
Hi3516开发笔记(十):Qt从VPSS中获取通道图像数据存储为jpg文件
上一篇已经将himpp套入qt的基础上进行开发。那么qt中拿到frame则是很关键的交互,这是qt与海思可能编解码交叉开发的关键步骤。
0 0
Qt+ECharts开发笔记(三):ECharts的柱状图介绍、基础使用和Qt封装Demo
上一篇成功是EChart随着Qt窗口变化而变化,本篇将开始正式介绍柱状图介绍、基础使用,并将其封装一层Qt。   本篇的demo实现了隐藏js代码的方式,实现了一个条形图的基本交互方式,即Qt调用js脚本操作html。
0 0
Qt+ECharts开发笔记(二):Qt窗口动态调整大小,使ECharts跟随Qt窗口大小变换而变换大小
上一篇将ECharts嵌入Qt中,在开始ECharts使用之前,还有一个很重要的功能,就是在窗口变换大小的时候,ECharts的图表尺寸也要跟随Qt窗口变换大小而变换大小。
0 0
Qt+ECharts开发笔记(一):ECharts介绍、下载和Qt调用ECharts基础柱状图Demo
使用Qt开发大数据可视化看板,基于Qt使用QWidget或者QML是很难达到ECharts大数据看板的效果,所以使用Qt来制作。
0 0
树莓派开发笔记(十七):树莓派4B+上Qt多用户连接操作Mysql数据库同步(单条数据悲观锁)
安装了mysq数据库,最终时为了实现在一个树莓派上实现多用户多进程操作的同步问题,避免数据并发出现一些错误,本篇安装了远程服务并且讲述了使用Qt进行悲观锁for update操作,命令行进行同步查询的示例。
0 0
麒麟系统开发笔记(二):国产麒麟系统搭建Qt开发环境安装Qt5.12
麒麟系统开发笔记(二):国产麒麟系统搭建Qt开发环境安装Qt5.12
0 0
+关注
tengweitw
所在学校:西电 兴趣爱好:编程、英语,象棋,乒乓球 email:771257840@qq.com
文章
问答
文章排行榜
最热
最新
相关电子书
更多
“移”网打尽-Mobile Network as a Service 网络即服务
立即下载
“移”网打尽—— Mobile Network as a Service 网络即服务
立即下载
CUDA Math API
立即下载