资源简介
有疑问的请在博客下方留言,不能及时回复请谅解,谢谢。

代码片段和文件信息
#include “electronicdictionary.h“
#include “ui_electronicdictionary.h“
#include
#include
#include ject>
#include
#include
#include
#include
electronicDictionary::electronicDictionary(QWidget *parentQString appid QString key QString salt):
QWidget(parent)
ui(new Ui::electronicDictionary)
{
ui->setupUi(this);
//默认初始化
from = “en“;
to = “zh“;
this->appid = appid;
this->key = key;
this->salt = salt;
}
electronicDictionary::~electronicDictionary()
{
delete ui;
}
void electronicDictionary::on_teSend_textChanged()
{
q = ui->teSend->toPlainText();
}
void electronicDictionary::on_pbTranslate_clicked()
{
md5Encryption();
// urlEncode();
//设置访问地址
url = “http://api.fanyi.baidu.com/api/trans/vip/translate?“;
url += “q=“ + q +
“&from=“ + from +
“&to=“ + to +
“&appid=“ + appid +
“&salt=“ + salt +
“&sign=“ + signMd5;
qDebug() << “url=“ << url;
//实例化网址管理
request = new QNetworkRequest;
//1、设置具体的网址
request->setUrl(url);
//2、实例化http请求方式
manager = new QNetworkAccessManager;
//关联信号 finished 当网页回复数据时触发,此时才能在槽函数中,读取请求到的数据
connect(manager SIGNAL(finished(QNetworkReply*)) this SLOT(httpReply(QNetworkReply *)));
//3、get方法请求(get方法上传)
manager->get(*request);
}
void electronicDictionary::httpReply(QNetworkReply * reply)
{
networkReply = ““;
networkReply.append(reply->readAll());
qDebug() << “networkReply“ << networkReply;
QJsonobject obj = stringToJson(networkReply);
if(obj.contains(“trans_result“))
{
QJsonValue val = obj.value(“trans_result“);
if(val.isArray())
{
QJsonArray array = val.toArray();
// qDebug() << array; //将该对象一次性打印出来
qDebug() << array.at(0);
if(array.at(0).isobject())
{
QJsonobject obj = array.at(0).toobject();
if(obj.contains(“dst“))
{
QString utf8Reply = obj.value(“dst“).toString();
qDebug() << “utf8Reply“ << utf8Reply;
ui->teRecv->clear();
ui->teRecv->insertPlainText(utf8Reply);
}
}
}else{
qDebug() << “错误:“< }
}
}
QJsonobject electronicDictionary::stringToJson(const QString jsonString)
{
//QTextCodec类提供文本编码之间的转换
//codecForName():搜索所有已安装的qtextcodec对象,并返回与名称最匹配的对象;
//匹配是不区分大小写的。如果找不到与名称匹配的编解码器,则返回0。
QTextCodec *tc = QTextCodec::codecForName(“UTF-8“);//防止中文乱码
//指示编译器指定名称的参数不在函数正文中使用。这可用于抑制编译器警告,同时允许在其签名中使用有意义的参数名称定义函数。
Q_UNUSED(tc);
QJsonDocument jsonDocument = QJsonDocument::fromJson(jsonString.toUtf8());
if (jsonDocument.isNull()){
qDebug() << “
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 5052 2019-11-04 00:20 myElectronicDictionary\electronicdictionary.cpp
文件 1261 2019-11-03 23:46 myElectronicDictionary\electronicdictionary.h
文件 3487 2019-11-03 23:05 myElectronicDictionary\electronicdictionary.ui
文件 175 2019-11-03 22:27 myElectronicDictionary\main.cpp
文件 1157 2019-11-03 22:37 myElectronicDictionary\myElectronicDictionary.pro
文件 23958 2019-11-12 20:55 myElectronicDictionary\myElectronicDictionary.pro.user
文件 1147 2019-11-03 23:01 myElectronicDictionary\widget.cpp
文件 577 2019-11-04 00:04 myElectronicDictionary\widget.h
文件 2997 2019-11-04 00:03 myElectronicDictionary\widget.ui
目录 0 2019-11-12 20:55 myElectronicDictionary
----------- --------- ---------- ----- ----
39811 10
- 上一篇:命名管道实现进程间通信程序
- 下一篇:一份有关于SATA 技术介绍
相关资源
- 酒店管理系统基于Qt Creator5)
- 用友NC开发API字典
- Web Api 通过文件流 文件到本地
- Spire API文档
- ectouch最新版JSAPI微信支付V3插
- Servlet API中文文档
- jstl-api-1.2和jstl-impl-1.2
- vtk QT做的三维地质可视化系统2of2
- hidusage.h hidpi.h 等USB开发用头文件
- Qt局域网聊天软件
- Qt Creator opengl实现四元数鼠标控制轨迹
- QT局域网聊天系统(基于QT5.修改过)
- qt-电子点菜系统
- OpenGL文档,api大全,可直接查询函数
- C 餐厅叫号系统(QT平)
- QT 实现文件下载
- qt图像处理
- nVidia 控制面板 API
- IpHlpApi.h&IpHlpApi.lib
- QT,JPEG解码源代码(已完成)
- 应用接口支持库1.1版eAPI
- 手机短信api接口(源代码)
- 成都MAPINFO格式电子地图
- Qt 播放音频文件
- ATA(ATAPI)接口指令协议硬盘基础知识
- WinAPI 函数库(大全)
- 串口操作类(justinio)
- Qt 读取16进制的data文件
- MQTT+串口(usart)透传
- 易语言QQTEA算法源码
评论
共有 条评论