当前位置: 首页 > news >正文

开服网站源码wordpress 附件地址

开服网站源码,wordpress 附件地址,广告制作包括哪些项目,上市公司网站建设方案Qt天气预报系统获取天气数据 1、获取天气数据1.1添加天气类头文件1.2定义今天和未来几天天气数据类1.3定义一个解析JSON数据的函数1.4在mainwindow中添加weatherData.h1.5创建今天天气数据和未来几天天气数据对象1.6添加parseJson定义1.7把解析JSON数据添加进去1.8添加错误1.9解… Qt天气预报系统获取天气数据 1、获取天气数据1.1添加天气类头文件1.2定义今天和未来几天天气数据类1.3定义一个解析JSON数据的函数1.4在mainwindow中添加weatherData.h1.5创建今天天气数据和未来几天天气数据对象1.6添加parseJson定义1.7把解析JSON数据添加进去1.8添加错误1.9解析整个天气数据 2、.h文件和.cpp文件2.1 mainwindow.h文件2.2weatherData.h文件2.3 .cpp文件 1、获取天气数据 1.1添加天气类头文件 鼠标放到项目上 右键选择Add New... 选择C选择CHeader File 起名为weatherData 1.2定义今天和未来几天天气数据类 //今天的数据类 class Today{ public:Today(){city 广州; //城市date 2025-1-10; //日期weatherType 多云; //天气类型highTem 30; //最高温lowTem 18; //最低温ganMao 感冒指数; //感冒指数Temperature 0; //温度Humidity 0%; //湿度PM25 0; //PM2.5windType 南风; //风的类型windPower 2级; //风力airQuality 无数据; //空气质量}QString city;QString date;int Temperature;QString weatherType;int highTem;int lowTem;QString ganMao;QString Humidity;int PM25;QString windType;QString windPower;QString airQuality;};//未来几天的数据类 class Day{ public:Day(){week 周五; //星期date 2023-7-29; //日期weatherType 多云; //天气类型airQuality 0; //空气指数优 //空气质量highTem 0; //最高温lowTem 0; //最低温windType 南风; //风的类型windPower 2级; //风力}QString week;QString date;QString weatherType;int airQuality;int highTem;int lowTem;QString windType;QString windPower; };1.3定义一个解析JSON数据的函数 void parseJson(QByteArray byteArray); //解析JSON数据1.4在mainwindow中添加weatherData.h #include weatherData.h1.5创建今天天气数据和未来几天天气数据对象 Today today; //定义一个今天天气数据对象 Day day[7]; //定义未来几天天气数据对象1.6添加parseJson定义 1.7把解析JSON数据添加进去 void MainWindow::readHttpReply(QNetworkReply *reply) {int status_code reply-attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt(); //状态码//请求错误if(reply-error() ! QNetworkReply::NoError || status_code ! 200){qDebug() reply-errorString().toLatin1().data(); //打印错误信息QMessageBox::warning(this,天气,请求数据失败, QMessageBox::Ok); //弹出警告信息框}//请求成功else{QByteArray byteArray reply-readAll(); //读取服务器数据qDebug() read all: byteArray.data(); //打印接收到的数据parseJson(byteArray); //解析JSON数据}reply-deleteLater(); //释放对象 }1.8添加错误 //解析JSON格式天气数据 void MainWindow::parseJson(QByteArray byteArray) {//错误QJsonParseError err; }鼠标放到QJsonParseError上 ALTEnter选择添加头文件后面的也类似使用一个新类的时候记得添加头文件 1.9解析整个天气数据 //解析JSON格式天气数据 void MainWindow::parseJson(QByteArray byteArray) {//错误QJsonParseError err; //创建一个错误对象QJsonDocument doc QJsonDocument::fromJson(byteArray, err); //将JSON格式解析为QJsonDocument对象//如果错误if(err.error ! QJsonParseError::NoError){return; //返回}QJsonObject rootObj doc.object(); //创建一个QJsonObject对象返回文档// qDebug() rootObj.value(message).toString();//1.解析城市和日期today.city rootObj.value(cityInfo).toObject().value(city).toString(); //城市today.date rootObj.value(date).toString(); //日期//2.解析昨天yesterday数据QJsonObject objData rootObj.value(data).toObject(); //获取data对象QJsonObject objYesterday objData.value(yesterday).toObject(); //昨天day[0].week objYesterday.value(week).toString(); //星期day[0].date objYesterday.value(date).toString(); //日期day[0].weatherType objYesterday.value(type).toString(); //天气类型QString highT; //最高温highT objYesterday.value(high).toString().split( ).at(1); //空格分割取分割后第二个数据1是第二个0是第一个day[0].highTem highT.left(highT.length() - 1).toInt(); //把℃减掉只剩数字QString lowT; //最低温lowT objYesterday.value(low).toString().split( ).at(1);day[0].lowTem lowT.left(lowT.length() - 1).toInt();//风的类型风力day[0].windType objYesterday.value(fx).toString(); //风的类型 day[0].windPower objYesterday.value(fl).toString(); //风力//空气指数day[0].airQuality objYesterday.value(aqi).toDouble(); //空气质量//3.解析未来几天的天气数据QJsonArray forecastArray objData.value(forecast).toArray(); //获取forecast数组//遍历未来几天天气数据for(int i0 ; i6 ; i){QJsonObject forecastObj forecastArray[i].toObject(); //获取JSON对象day[i1].week forecastObj.value(week).toString(); //星期day[i1].date forecastObj.value(ymd).toString(); //日期day[i1].weatherType forecastObj.value(type).toString(); //天气类型//空气指数day[i1].airQuality forecastObj.value(aqi).toDouble(); //空气质量QString highT; //最高温highT forecastObj.value(high).toString().split( ).at(1); //空格分割取分割后第二个数据1是第二个0是第一个day[i1].highTem highT.left(highT.length() - 1).toInt(); //把℃减掉只剩数字QString lowS; //最低温lowS forecastObj.value(low).toString().split( ).at(1);day[i1].lowTem lowS.left(lowS.length() - 1).toInt();//风的类型风力day[i1].windType forecastObj.value(fx).toString(); //风的类型day[i1].windPower forecastObj.value(fl).toString(); //风力//4、解析今天的数据today.Temperature objData.value(wendu).toInt(); //温度today.ganMao objData.value(ganmao).toString(); //感冒指数today.Humidity objData.value(shidu).toString(); //湿度today.PM25 objData.value(pm25).toDouble(); //PM2.5today.airQuality objData.value(quality).toString(); //空气质量//forecast里面也有今天的数据today.weatherType day[1].weatherType; //天气类型today.highTem day[1].highTem; //最高温today.lowTem day[1].lowTem; //最低温today.windType day[1].windType; //风的类型today.windPower day[1].windPower; //风力} }2、.h文件和.cpp文件 2.1 mainwindow.h文件 #ifndef MAINWINDOW_H #define MAINWINDOW_H#include QMainWindow #include QMenu #include QMessageBox #include QNetworkAccessManager #include QNetworkReply #include weatherData.hQT_BEGIN_NAMESPACE namespace Ui { class MainWindow; } QT_END_NAMESPACEclass MainWindow : public QMainWindow {Q_OBJECTpublic:MainWindow(QWidget *parent nullptr);~MainWindow();protected:void mousePressEvent(QMouseEvent *event) override; //重写鼠标点击事件函数void mouseMoveEvent(QMouseEvent *event) override; //重写鼠标移动事件函数void getWeatherInfo(QString citycode); //获取天气数据void parseJson(QByteArray byteArray); //解析JSON数据private slots:void on_pushButton_quit_clicked(); //关闭UI界面void onQuitActTriggered(); //菜单被点击后的处理public slots:void readHttpReply(QNetworkReply *reply); //新建一个网络请求获取的槽函数private:Ui::MainWindow *ui;QMenu *quitMenu; //创建一个菜单指针QAction *quitAct; //定义一个动作QPoint moffset; //窗口移动时鼠标与窗口左上角的偏移值QNetworkAccessManager *NetAccessManger; //声明一个网络请求对象bool closePOPWindow(); //关闭窗口的弹窗Today today; //定义一个今天天气数据对象Day day[7]; //定义未来几天天气数据对象 }; #endif // MAINWINDOW_H2.2weatherData.h文件 #ifndef WEATHERDATA_H #define WEATHERDATA_H #include QString //今天的数据类 class Today{ public:Today(){city 广州; //城市date 2025-1-10; //日期weatherType 多云; //天气类型highTem 30; //最高温lowTem 18; //最低温ganMao 感冒指数; //感冒指数Temperature 0; //温度Humidity 0%; //湿度PM25 0; //PM2.5windType 南风; //风的类型windPower 2级; //风力airQuality 无数据; //空气质量}QString city;QString date;int Temperature;QString weatherType;int highTem;int lowTem;QString ganMao;QString Humidity;int PM25;QString windType;QString windPower;QString airQuality;};//未来几天的数据类 class Day{ public:Day(){week 周五; //星期date 2023-7-29; //日期weatherType 多云; //天气类型airQuality 0; //空气指数优 //空气质量highTem 0; //最高温lowTem 0; //最低温windType 南风; //风的类型windPower 2级; //风力}QString week;QString date;QString weatherType;int airQuality;int highTem;int lowTem;QString windType;QString windPower; }; #endif // WEATHERDATA_H2.3 .cpp文件 #include mainwindow.h #include ui_mainwindow.h#include QJsonArray #include QJsonObject #include QJsonParseError #include QMouseEvent #include weatherData.hMainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow) {ui-setupUi(this);setWindowFlag(Qt::FramelessWindowHint);// this-setLayout(ui-gridLayoutGlobal); //让界面随着窗口变幻大小quitMenu new QMenu(this); //创建一个QMenu对象quitAct new QAction(QIcon(:/widget/quit.png), tr(退出), this); //定义一个退出动作quitMenu-addAction(quitAct); //添加动作// connect(quitMenu,QMenu::triggered,this,[]{// this-close();// }); //连接信号与槽connect(quitMenu,QMenu::triggered,this,MainWindow::onQuitActTriggered); //连接菜单被触发的信号与槽NetAccessManger new QNetworkAccessManager(this); //实例化一个网络请求对象connect(NetAccessManger,QNetworkAccessManager::finished,this,MainWindow::readHttpReply); //连接网络请求获取的信号与槽//101010100是北京的城市编码getWeatherInfo(101010100);}MainWindow::~MainWindow() {delete ui; }//鼠标点击 void MainWindow::mousePressEvent(QMouseEvent *event) {//如果右键被按下if(event-button() Qt::RightButton){quitMenu-exec(QCursor::pos()); //在当前鼠标位置显示菜单}//当前鼠标位置 event-globalPos()//当前窗口位置 this-pos()if(event-button() Qt::LeftButton){moffset event-globalPos() - this-pos();} }//鼠标移动 void MainWindow::mouseMoveEvent(QMouseEvent *event) {this-move(event-globalPos() - moffset); //移动窗口 }//弹窗 bool MainWindow::closePOPWindow() {// 创建一个消息框询问用户是否真的要退出QMessageBox mes;mes.setWindowTitle(关闭窗口);// mes.setWindowFlags(Qt::Drawer); //把标题栏去掉mes.setIcon(QMessageBox::Warning); //设置一个警告图片mes.setText(是否关闭窗口); //弹窗文本mes.setStandardButtons(QMessageBox::Ok | QMessageBox::Cancel); //设置两个按钮mes.setWindowIcon(QIcon(:/widget/dog.png)); // 设置窗口图标mes.setButtonText(QMessageBox::Ok, tr(确定)); //ok改为确认mes.setButtonText(QMessageBox::Cancel, tr(取消)); //Cancel改为取消// 显示消息框并等待用户交互int result mes.exec();// 根据用户的选择执行相应的操作if (result QMessageBox::Ok) {// 用户选择了确定关闭主窗口this-close();return true;}// 用户选择了取消不关闭主窗口else{return false; // 窗口关闭操作失败} }//右上角退出 void MainWindow::on_pushButton_quit_clicked() {closePOPWindow(); }//鼠标右键退出 void MainWindow::onQuitActTriggered() {closePOPWindow(); }//获取天气数据 void MainWindow::getWeatherInfo(QString citycode) {QUrl url(http://t.weather.itboy.net/api/weather/city/ citycode); //天气数据接口和城市编码NetAccessManger-get(QNetworkRequest(url)); //发送GET请求获取数据}//解析JSON格式天气数据 void MainWindow::parseJson(QByteArray byteArray) {//错误QJsonParseError err; //创建一个错误对象QJsonDocument doc QJsonDocument::fromJson(byteArray, err); //将JSON格式解析为QJsonDocument对象//如果错误if(err.error ! QJsonParseError::NoError){return; //返回}QJsonObject rootObj doc.object(); //创建一个QJsonObject对象返回文档// qDebug() rootObj.value(message).toString();//1.解析城市和日期today.city rootObj.value(cityInfo).toObject().value(city).toString(); //城市today.date rootObj.value(date).toString(); //日期//2.解析昨天yesterday数据QJsonObject objData rootObj.value(data).toObject(); //获取data对象QJsonObject objYesterday objData.value(yesterday).toObject(); //昨天day[0].week objYesterday.value(week).toString(); //星期day[0].date objYesterday.value(date).toString(); //日期day[0].weatherType objYesterday.value(type).toString(); //天气类型QString highT; //最高温highT objYesterday.value(high).toString().split( ).at(1); //空格分割取分割后第二个数据1是第二个0是第一个day[0].highTem highT.left(highT.length() - 1).toInt(); //把℃减掉只剩数字QString lowT; //最低温lowT objYesterday.value(low).toString().split( ).at(1);day[0].lowTem lowT.left(lowT.length() - 1).toInt();//风的类型风力day[0].windType objYesterday.value(fx).toString(); //风的类型day[0].windPower objYesterday.value(fl).toString(); //风力//空气指数day[0].airQuality objYesterday.value(aqi).toDouble(); //空气质量//3.解析未来几天的天气数据QJsonArray forecastArray objData.value(forecast).toArray(); //获取forecast数组//遍历未来几天天气数据for(int i0 ; i6 ; i){QJsonObject forecastObj forecastArray[i].toObject(); //获取JSON对象day[i1].week forecastObj.value(week).toString(); //星期day[i1].date forecastObj.value(ymd).toString(); //日期day[i1].weatherType forecastObj.value(type).toString(); //天气类型//空气指数day[i1].airQuality forecastObj.value(aqi).toDouble(); //空气质量QString highT; //最高温highT forecastObj.value(high).toString().split( ).at(1); //空格分割取分割后第二个数据1是第二个0是第一个day[i1].highTem highT.left(highT.length() - 1).toInt(); //把℃减掉只剩数字QString lowS; //最低温lowS forecastObj.value(low).toString().split( ).at(1);day[i1].lowTem lowS.left(lowS.length() - 1).toInt();//风的类型风力day[i1].windType forecastObj.value(fx).toString(); //风的类型day[i1].windPower forecastObj.value(fl).toString(); //风力//4、解析今天的数据today.Temperature objData.value(wendu).toInt(); //温度today.ganMao objData.value(ganmao).toString(); //感冒指数today.Humidity objData.value(shidu).toString(); //湿度today.PM25 objData.value(pm25).toDouble(); //PM2.5today.airQuality objData.value(quality).toString(); //空气质量//forecast里面也有今天的数据today.weatherType day[1].weatherType; //天气类型today.highTem day[1].highTem; //最高温today.lowTem day[1].lowTem; //最低温today.windType day[1].windType; //风的类型today.windPower day[1].windPower; //风力} }//网络请求获取 void MainWindow::readHttpReply(QNetworkReply *reply) {int status_code reply-attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt(); //状态码//请求错误if(reply-error() ! QNetworkReply::NoError || status_code ! 200){qDebug() reply-errorString().toLatin1().data(); //打印错误信息QMessageBox::warning(this,天气,请求数据失败, QMessageBox::Ok); //弹出警告信息框}//请求成功else{QByteArray byteArray reply-readAll(); //读取服务器数据qDebug() read all: byteArray.data(); //打印接收到的数据parseJson(byteArray); //解析JSON数据}reply-deleteLater(); //释放对象 }获取天气数据完成
http://www.dnsts.com.cn/news/280718.html

相关文章:

  • 大学生网站建设小结wordpress 页面导航
  • 体育西网站开发设计网站上的验证码怎么做
  • 个人网站备案简介怎么写精通网站开发阅读
  • 深圳凌 网站开发做网站的技术岗位有哪些
  • 网站建设方面的书少女免费观看完整电视电影
  • 泰州网站建设方案峨眉山有做网站的电话
  • 做网站用的西安网站建立
  • 抚州网站制作政法网站内容建设
  • 网站建设需要租用什么网站建设项目收获
  • 网站报错解析现在公司做网站还需要域名吗
  • 黑龙江住房建设部网站手机网站开发屏幕尺寸一般是多少
  • 做第三方库网站网络推广专员所需知识
  • 海南建设培训与执业资格注册中心网站做网站游戏推广赚钱吗
  • 网站开发框架书籍成功的网络营销案例ppt
  • 宁波网站搜索排名房产信息网58同城
  • 个人网站备案转公司备案西地那非片能延时多久每次吃多少
  • 用云怎么做网站网站建设原因
  • 汕头个人网站建设全网营销推广运营培训学校
  • 个人网站模板psd郑州市网站空间服务公司
  • 创建简易个人网站最近发生的军事事件
  • 网站建设公司百家号商标注册网站查询系统
  • 提示危险网站wordpress图片美化
  • 30g月流量网站wordpress主题重新激活
  • 歌手投票网站怎么做哈尔滨网站建设平台
  • 优化网站内容河间网站制作
  • 奉节网站建设无锡设计网站找哪家
  • 网站广告下悬浮代码怎么做乐清做网站培训
  • 体验营销是什么网站建设优化项目
  • 商城网站建设模板服装网站建设中期目标
  • php网站换服务器余杭门户网站