命名为software_update.json,内容如下:
其中Url键值,是最新版软件的下载地址,然后把这个文件存放到服务器上,可以通过链接直接访问, 如:https://www.demo.com/software_update.json,如果有软件发布,只需要修改这个文件的内容:版本号、下载链接、更新说明、更新时间。当然,从文件内容也可以看出,支持多个软件的说明放在一起。
Qt端的实现
Qt端的实现,主要使用到了网络请求和JSON解析两个部分。
1.pro文件添加网络支持
# 网络请求 QT += network
2.添加头文件
//网络相关头文件 #include#include#include//JSON相关头文件 #include#include#include
3.对象的定义和函数的声明
QNetworkAccessManager *manager;	//定义网络请求对象 int parse_UpdateJSON(QString str);	//解析数据函数的声明 void replyFinished(QNetworkReply *reply);	//网络数据接收完成槽函数的声明 QString CurVerison = "V1.1";	//定义当前软件的版本号
4.连接信号与槽
manager = new QNetworkAccessManager(this); //新建QNetworkAccessManager对象 connect(manager, SIGNAL(finished(QNetworkReply*)), this, SLOT(replyFinished(QNetworkReply*)));//关联信号和槽
5.更新按钮槽函数的实现
当点击”检查更新”按钮,会发送一个网络请求,即上面的JSON文件的地址。
void Pulse::on_btn_chkUpdate_clicked() { QNetworkRequest quest; quest.setUrl(QUrl("https://www.demo.com/software_update.json")); //包含最新版本软件的下载地址 quest.setH