说明
1、心知天气给免费用户开放了几个接口,但是阉割很多,能获取到的数据非常少,具体请参考心知天气官网,博主在做这个应用之前也是没有了解清楚,就稀里糊涂的写了,后面百度了一下,发现和风天气给开发者免费开放更多的数据,有时间的话再考虑做一个和风天气的应用案例。
2、在心知天气注册账号,创建应用后,在控制台会得到应用的API key,也就是私钥,按照接口的URL写入API key后就可以发起请求,获取数据,新手建议先在http测试站进行测试,百度http测试即可。
3、Qt开发时注意访问https的url对openssl的依赖,拷贝相应的dll至exe所在目录。博主在源码的release文件夹中提供,可直接打开博主比编译好的exe进行测试,在user.ini中写入城市和你自己的私钥即可。
技术要点
发起get请求,获取返回数据,json解析,更新窗口显示
QNetworkAccessManager、QNetworkRequest、QNetworkReply、QJsonDocument、QJsonObject、QJsonArray、QKeyEvent、QMouseEvent、QSettings… …
功能特点
1、编译本案例后,首次运行exe,会出现如下提示,点击OK。exe所在目录下自动创建了一个文件user.ini,打开这个文件,在location=后面写入城市拼音,如beijing,在apikey=后写入你的私钥,保存,重新运行exe即可。
2、无边框、透明窗口,可以鼠标拖动。
3、F1切换城市,F5刷新天气数据,ESC关闭,都有弹出窗口,按提示操作即可。
4、定时更新时间显示、天气数据。