1 Star 0 Fork 13

polo/qte_2019_ncov

forked from whik/qte_2019_ncov 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
dialog_slots.cpp 2.42 KB
一键复制 编辑 原始数据 按行查看 历史
UbuntuUser 提交于 2020-04-09 23:54 . fix 302 issue on qt5.9
#include "dialog.h"
#include "ui_dialog.h"
void Dialog::on_btn_close_clicked()
{
this->close();
}
void Dialog::on_btn_about_clicked()
{
this->ab_win.exec();
}
void Dialog::clkUpdate()
{
QDateTime time = QDateTime::currentDateTime();
QString str = time.toString("hh:mm:ss");
// qDebug() << str;
ui->lbe_clk->setText(str);
}
void Dialog::update()
{
static qint16 cnt = 0;
cnt++;
if(cnt == 60 * updateTime) //60s = 1min
{
qDebug() << "start update data";
disInfo("start update data");
emit on_btn_update_clicked();//触发更新
cnt = 0;
}
}
void Dialog::on_btn_update_clicked()
{
QUrl url;
QString file_head;
switch (apiID)
{
case 0:
file_head = "data0";
url.setUrl(apiUrl_0);
break;
case 1:
file_head = "data1";
url.setUrl(apiUrl_1);
break;
case 2:
file_head = "data2";
url.setUrl(apiUrl_2);
break;
case 3:
file_head = "data3";
url.setUrl(apiUrl_3);
break;
default:
break;
}
qDebug() << "get api: " + url.toString();
if(apiID != 0)
{
QString current_time = QDateTime::currentDateTime().toString("yyyyMMdd_hh_mm_ss_zzz");
filename = file_head + "_" +current_time + ".json";
}
else
filename = "ip_addree.json";
file = new QFile(filename);
if(!file->open(QIODevice::WriteOnly))
{
qDebug() << "file open failed";
delete file;
file = 0;
return;
}
// qDebug() << "network is online";
QNetworkRequest request;
request.setUrl(QUrl(url));
request.setAttribute(QNetworkRequest::FollowRedirectsAttribute,true);//to avoid 302 issue
reply = manager->get(request);
// reply = manager->get(QNetworkRequest(url)); //发送get请求数据
connect(reply,SIGNAL(finished()),this,SLOT(httpFinished()));
connect(reply,SIGNAL(readyRead()),this,SLOT(httpReadyRead()));
}
void Dialog::httpReadyRead() //有可用数据
{
// qDebug() << "write data";
if(file)
file->write(reply->readAll()); //如果文件存在,则写入文件
else
qDebug() << "don't have data to write";
}
void Dialog::httpFinished() //完成下载
{
file->flush();
file->close();
reply->deleteLater();
reply = 0;
delete file;
file = 0;
// qDebug() << "file download finished!";
parseData(filename);
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/jinlifeng/qte_2019_ncov.git
git@gitee.com:jinlifeng/qte_2019_ncov.git
jinlifeng
qte_2019_ncov
qte_2019_ncov
master

搜索帮助