20.Qt实现天气预报

Qt实现天气预报

实现效果:

实现代码

  • 使用QNetworkAccessManager进行http请求,获取天气的数据

  • 使用QMenu进行退出

  • 使用鼠标移动事件进行窗口的移动

    • void Widget::mousePressEvent(QMouseEvent *event)
      {
          if(event->button() == Qt::RightButton)
          {
              //qDebug() << "right mouse clicked ";
              menuQuit->exec(QCursor::pos());
          }
          //鼠标当前位置 event->globalPos()
          //窗口当前位置 this->pos();
          //窗口新位置 event->globalPos()-mOffset
          if(event->button() == Qt::LeftButton)
          {
              //qDebug() << event->globalPos() << this->pos();
              mOffset = event->globalPos() - this->pos();
          }
      }
      
  • 使用QJsonObject、QJsonDocument、QJsonArray对天气的json数据进行解析

  • 使用QPainter对温度曲线进行绘制

headers

citycodeutils.h

#ifndef CITYCODEUTILS_H
#define CITYCODEUTILS_H

#include <QMap>
#include <QString>

class CityCodeUtils
{
public:
    CityCodeUtils();
    QMap<QString,QString> cityMap = {};
    QString getCityCodeFromName(QString cityName);
    void initCityMap();
};

#endif // CITYCODEUTILS_H

day.h

#ifndef DAY_H
#define DAY_H
#include <QString>

class Day
{
public:
    Day();
    QString mDate;
    QString mWeek;
    QString mCity;
    QString mTemp;
    QString mWeathType;
    QString mTempLow;
    QString mTempHigh;

    QString mTips;
    QString mFx;
    QString mFl;
    QString mPm25;
    QString mHu;
    QString mAirq;
};

#endif // DAY_H

widget.h

#ifndef WIDGET_H
#define WIDGET_H

#include <QLabel>
#include <QMenu>
#include <QMouseEvent>
#include <QNetworkReply>
#include <QTimer>
#include <QWidget>
#include <citycodeutils.h>
#include <day.h>

QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACE

class Widget : public QWidget
{
    Q_OBJECT

public:
    Widget(QWidget *parent = nullptr);
    ~Widget();

private:
    Ui::Widget *ui;
    QMenu *menuQuit;
    QPoint mOffset;
    QString strUrl = "http://gfeljm.tianqiapi.com/api?unescape=1&version=v91&appid=56389786&appsecret=UYzl9ynM&ext=";
    QNetworkAccessManager *manager;
    CityCodeUtils cityCodeUtils;
    QMap<QString,QString> mTypeMap;
    Day days[7];
    QList<QLabel *> mDateList;
    QList<QLabel *> mWeekList;
    QList<QLabel *> mIconList;
    QList<QLabel *> mWeathTypeList;
    QList<QLabel *> mAirTypeList;
    QList<QLabel *> mFxList;
    QList<QLabel *> mFlList;
    QTimer *timer;
protected:
    void mousePressEvent(QMouseEvent *event) override;
    void mouseMoveEvent(QMouseEvent *event) override;
    bool eventFilter(QObject *watched, QEvent *event);

public slots:
    void readHttpReply(QNetworkReply *reply);

private slots:
    void on_btnSearch_clicked();

private:
    void parseWeatherJsonData(QByteArray data);
    void parseWeatherJsonDataNew(QByteArray rawData);
    void updateUI();
    void drawTempLineHigt();
    void drawTempLineLow();
};
#endif // WIDGET_H

sources

citycodeutils.cpp

#include "citycodeutils.h"

#include <QFile>
#include <QJsonArray>
#include <QJsonDocument>

CityCodeUtils::CityCodeUtils()
{

}

QString CityCodeUtils::getCityCodeFromName(QString cityName)
{
    if(cityMap.isEmpty()){
        initCityMap();
    }
    QMap<QString, QString>::iterator it = cityMap.find(cityName);
    if(it == cityMap.end()){
        it = cityMap.find(cityName+"市");
        if(it == cityMap.end()){
            it = cityMap.find(cityName+"县");
        }
        if(it == cityMap.end()){
            it = cityMap.find(cityName+"区");
        }
        if(it == cityMap.end()){
            return NULL;
        }
    }
    return it.value();
}

void CityCodeUtils::initCityMap()
{
    QFile file(":/citycode.json");
    file.open(QIODevice::ReadOnly | QIODevice::Text);
    QByteArray rawDate = file.readAll();
    file.close();

    QJsonDocument jsonDoc = QJsonDocument::fromJson(rawDate);
    if(jsonDoc.isArray()){
        QJsonArray citys = jsonDoc.array();
        for(QJsonValue value : citys) {
            if(value.isObject()){
                QString cityName = value["city_name"].toString();
                QString cityCode = value["city_code"].toString();
                cityMap.insert(cityName,cityCode);
            }
        }
    }
}

day.cpp

#include "day.h"

Day::Day()
{

}

widget.cpp

#include "widget.h"
#include "ui_widget.h"

#include <QMouseEvent>
#include <QDebug>
#include <QNetworkAccessManager>
#include <QMessageBox>
#include <QJsonDocument>
#include <QJsonObject>
#include <QJsonArray>
#include <QPainter>

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
    setFixedSize(372,788);
    setFont(QFont("Arial",15));
    setWindowFlag(Qt::FramelessWindowHint);

    menuQuit = new QMenu(this);
    //菜单样式
    menuQuit->setStyleSheet("QMenu::item {color: white }");
    QAction *closeAct = new QAction(QIcon(":/res/close.png"),tr("退出"),this);
    menuQuit->addAction(closeAct);
    timer = new QTimer(this);

    connect(timer,&QTimer::timeout,[=](){
        update();
    });

    timer->setInterval(500);
    timer->start();

    connect(menuQuit,&QMenu::triggered,[=](){
        this->close();
    });
    manager = new QNetworkAccessManager(this);
    manager->get(QNetworkRequest(QUrl(strUrl+"&cityid=101280601")));
    connect(manager,&QNetworkAccessManager::finished,this,&Widget::readHttpReply);


    mWeekList << ui->labelDay1 <<  ui->labelDay2
              << ui->labelDay3 <<  ui->labelDay4
              << ui->labelDay5 <<  ui->labelDay6;

    mDateList << ui->labelDate1 <<  ui->labelDate2
              << ui->labelDate3 <<  ui->labelDate4
              << ui->labelDate5 <<  ui->labelDate6;

    mIconList << ui->labelDayIcon1 <<  ui->labelDayIcon2
              << ui->labelDayIcon3 <<  ui->labelDayIcon4
              << ui->labelDayIcon5 <<  ui->labelDayIcon6;

    mWeathTypeList << ui->labelDayValue1 <<  ui->labelDayValue2
                   << ui->labelDayValue3 <<  ui->labelDayValue4
                   << ui->labelDayValue5 <<  ui->labelDayValue6;

    mAirTypeList << ui->labelAirValue1 <<  ui->labelAirValue2
                 << ui->labelAirValue3 <<  ui->labelAirValue4
                 << ui->labelAirValue5 <<  ui->labelAirValue6;

    mFxList << ui->labelWindDir1 <<  ui->labelWindDir2
            << ui->labelWindDir3 <<  ui->labelWindDir4
            << ui->labelWindDir5 <<  ui->labelWindDir6;

    mFlList << ui->labelWindValue1 <<  ui->labelWindValue2
            << ui->labelWindValue3 <<  ui->labelWindValue4
            << ui->labelWindValue5 <<  ui->labelWindValue6;

    //根据keys,设置icon的路径
    mTypeMap.insert("暴雪",":/res/type/BaoXue.png");
    mTypeMap.insert("暴雨",":/res/type/BaoYu. png");
    mTypeMap.insert("暴雨到大暴雨",":/res/type/BaoYuDaoDaBaoYu.png");
    mTypeMap.insert("大暴雨",":/res/type/DaBaoYu.png");
    mTypeMap.insert("大暴雨到特大暴雨",":/res/type/DaBaoYuDaoTeDaBaoYu.png");
    mTypeMap.insert("大到暴雪",":/res/type/DaDaoBaoXue.png");
    mTypeMap.insert("大雪",":/res/type/DaXue.png");
    mTypeMap.insert("大雨",":/res/type/DaYu.png");
    mTypeMap.insert("冻雨",":/res/type/DongYu.png");
    mTypeMap.insert("多云",":/res/type/DuoYun.png");
    mTypeMap.insert("浮沉",":/res/type/FuChen.png");
    mTypeMap.insert("雷阵雨",":/res/type/LeiZhenYu.png");
    mTypeMap.insert("雷阵雨伴有冰雹",":/res/type/LeiZhenYuBanYouBingBao.png");
    mTypeMap.insert("霾",":/res/type/Mai.png");
    mTypeMap.insert("强沙尘暴",":/res/type/QiangShaChenBao.png");
    mTypeMap.insert("晴",":/res/type/Qing.png");
    mTypeMap.insert("沙尘暴",":/res/type/ShaChenBao.png");
    mTypeMap.insert("特大暴雨",":/res/type/TeDaBaoYu.png");
    mTypeMap.insert("undefined",":/res/type/undefined.png");
    mTypeMap.insert("雾",":/res/type/Wu.png");
    mTypeMap.insert("小到中雪",":/res/type/XiaoDaoZhongXue.png");
    mTypeMap.insert("小到中雨",":/res/type/XiaoDaoZhongYu.png");
    mTypeMap.insert("小雪",":/res/type/XiaoXue.png");
    mTypeMap.insert("小雨",":/res/type/XiaoYu.png");
    mTypeMap.insert("雪",":/res/type/Xue.png");
    mTypeMap.insert("扬沙",":/res/type/YangSha.png");
    mTypeMap.insert("阴",":/res/type/Yin.png");
    mTypeMap.insert("雨",":/res/type/Yu.png");
    mTypeMap.insert("雨夹雪",":/res/type/YuJiaXue.png");
    mTypeMap.insert("阵雪",":/res/type/ZhenXue.png");
    mTypeMap.insert("阵雨",":/res/type/ZhenYu.png");
    mTypeMap.insert("中到大雪",":/res/type/ZhongDaoDaXue.png");
    mTypeMap.insert("中到大雨",":/res/type/ZhongDaoDaYu.png");
    mTypeMap.insert("中雪",":/res/type/ZhongXue.png");
    mTypeMap.insert("中雨",":/res/type/ZhongYu.png");

    ui->widget0404->installEventFilter(this);
    ui->widget0405->installEventFilter(this);
}

Widget::~Widget()
{
    delete ui;
}

void Widget::mousePressEvent(QMouseEvent *event)
{
    if(event->button() == Qt::RightButton)
    {
        //qDebug() << "right mouse clicked ";
        menuQuit->exec(QCursor::pos());
    }
    //鼠标当前位置 event->globalPos()
    //窗口当前位置 this->pos();
    //窗口新位置 event->globalPos()-mOffset
    if(event->button() == Qt::LeftButton)
    {
        //qDebug() << event->globalPos() << this->pos();
        mOffset = event->globalPos() - this->pos();
    }
}

void Widget::mouseMoveEvent(QMouseEvent *event)
{
    this->move(event->globalPos()-mOffset);
}

bool Widget::eventFilter(QObject *watched, QEvent *event)
{
    if(watched == ui->widget0404 && event->type() == QEvent::Paint){
        drawTempLineHigt();
        //return true;
    }
    if(watched == ui->widget0405 && event->type() == QEvent::Paint){
        drawTempLineLow();
        //return true;
    }
    return QWidget::eventFilter(watched, event);
}
void Widget::parseWeatherJsonData(QByteArray data)
{
    QJsonDocument jsonDoc = QJsonDocument::fromJson(data);
    if(!jsonDoc.isNull() && jsonDoc.isObject())
    {
        QJsonObject rootObj = jsonDoc.object();
        //当前日期
        QString date = rootObj["date"].toString() +" " +rootObj["week"].toString();
        ui->labelCurrentDate->setText(date);
        //温度
        ui->labelTemperature->setText(rootObj["tem"].toString()+"℃");
        ui->labelRangeTemperature->setText(rootObj["tem2"].toString()+"℃"+"~"+rootObj["tem1"].toString()+"℃");
        //天气
        QString wea = rootObj["wea"].toString();
        ui->labelWeather->setText(wea);
        //QString weaImg = rootObj["wea_img"].toString();
        //qDebug() << weaImg;
        ui->labelWeatherIcon->setPixmap(QPixmap(mTypeMap[wea]));
        //城市
        ui->labelCity->setText(rootObj["city"].toString()+"市");
        //感冒指数
        ui->labelGanMao->setText(rootObj["air_tips"].toString());
        //风向
        ui->labelFXType->setText(rootObj["win"].toString());
        ui->labelFXValue->setText(rootObj["win_speed"].toString());
        //PM25
        ui->labelPMValue->setText(rootObj["air_pm25"].toString());
        //湿度
        ui->labelSDValue->setText(rootObj["humidity"].toString());
        //空气质量
        ui->labelAIRValue->setText(rootObj["air_level"].toString());
    }
}

void Widget::parseWeatherJsonDataNew(QByteArray rawData)
{
    QJsonDocument jsonDoc = QJsonDocument::fromJson(rawData);
    if(!jsonDoc.isNull() && jsonDoc.isObject())
    {
        QJsonObject rootObj = jsonDoc.object();
        //城市
        QString city = rootObj["city"].toString()+"市";
        QString tips;
        QString pm25;
        if(rootObj.contains("aqi") && rootObj["aqi"].isObject())
        {
            QJsonObject aqiObj  = rootObj["aqi"].toObject();
            tips = aqiObj["air_tips"].toString();
            pm25 = aqiObj["pm25"].toString();
        }
        if(rootObj.contains("data") && rootObj["data"].isArray())
        {
            QJsonArray jsonArr = rootObj["data"].toArray();
            for (int i = 0; i < jsonArr.size(); i++) {
                QJsonObject dataObj = jsonArr[i].toObject();
                days[i].mCity = city;
                days[i].mDate = dataObj["date"].toString();
                days[i].mWeek = dataObj["week"].toString();
                days[i].mTemp = dataObj["tem"].toString();
                days[i].mTempLow = dataObj["tem2"].toString();
                days[i].mTempHigh = dataObj["tem1"].toString();
                qDebug() << "mTempHigh:" << dataObj["tem1"].toString();
                days[i].mWeathType = dataObj["wea"].toString();

                days[i].mTips = tips;
                days[i].mFx = dataObj["win"].toArray()[0].toString();
                days[i].mFl = dataObj["win_speed"].toString();
                days[i].mPm25 = pm25;
                days[i].mHu = dataObj["humidity"].toString();
                days[i].mAirq = dataObj["air_level"].toString();
            }
        }

    }
    updateUI();

}

void Widget::updateUI()
{
    //qDebug() << "updateUI";
    Day currentDay = days[0];
    //当前日期
    QString date = currentDay.mDate +" " + currentDay.mWeek;
    ui->labelCurrentDate->setText(date);
    //温度
    ui->labelTemperature->setText(currentDay.mTemp+"℃");
    ui->labelRangeTemperature->setText(currentDay.mTempLow+"~"+currentDay.mTempHigh+"℃");
    //天气
    QString wea = currentDay.mWeathType;
    ui->labelWeather->setText(wea);
    //QString weaImg = rootObj["wea_img"].toString();
    //qDebug() << weaImg;
    ui->labelWeatherIcon->setPixmap(QPixmap(mTypeMap[wea]));
    //城市
    ui->labelCity->setText(currentDay.mCity);
    //感冒指数
    ui->labelGanMao->setText(currentDay.mTips);
    //风向
    ui->labelFXType->setText(currentDay.mFx);
    ui->labelFXValue->setText(currentDay.mFl);
    //PM25
    ui->labelPMValue->setText(currentDay.mPm25);
    //湿度
    ui->labelSDValue->setText(currentDay.mHu);
    //空气质量
    ui->labelAIRValue->setText(currentDay.mAirq);
    QPixmap pixmap;
    for (int i = 0; i < 6; i++) {
        //qDebug() << "i:" << i;
        Day tmpDay = days[i];
        QList<QString> dates = tmpDay.mDate.split("-");
        mDateList[i]->setText(dates.at(1)+ "-" + dates.at(2));
        mWeekList[i]->setText(tmpDay.mWeek);


        QString wea = tmpDay.mWeathType;
        int index = wea.indexOf("转");
        if(index != -1){
            pixmap =  mTypeMap[wea.left(index)];
        }else
        {
           pixmap =  mTypeMap[wea];
        }
        //自动拉伸图片
        pixmap = pixmap.scaled(mIconList[i]->size(),Qt::KeepAspectRatio,Qt::SmoothTransformation);
        mIconList[i]->setMaximumHeight(50);
        mIconList[i]->setMaximumWidth(ui->widget02->width()/6.5);
        mIconList[i]->setPixmap(pixmap);
        mWeathTypeList[i]->setFont(QFont("",10));
        mWeathTypeList[i]->setText(wea);
        QString mAirq= tmpDay.mAirq;
        if(mAirq == "优"){
            mAirTypeList[i]->setStyleSheet("background-color: rgb(0, 179, 100);color: rgb(230, 230, 230);border-radius: 5px;");
        }
        if(mAirq == "良"){
            mAirTypeList[i]->setStyleSheet("background-color: rgb(255, 255, 100);color: rgb(230, 230, 230);border-radius: 5px;");
        }
        if(mAirq == "轻度污染"){
            mAirTypeList[i]->setStyleSheet("background-color: rgb(255, 0, 0);color: rgb(230, 230, 230);border-radius: 5px;");
        }
        if(mAirq == "中度污染"){
            mAirTypeList[i]->setStyleSheet("background-color: rgb(255, 255, 0);color: rgb(230, 230, 230);border-radius: 5px;");
        }
        if(mAirq == "重度污染"){
            mAirTypeList[i]->setStyleSheet("background-color: rgb(255, 128, 255);color: rgb(230, 230, 230);border-radius: 5px;");
        }
        mAirTypeList[i]->setText(mAirq);
        mFxList[i]->setText(tmpDay.mFx);
        mFlList[i]->setText(tmpDay.mFl);
    }
}

void Widget::drawTempLineHigt()
{
    QPainter painter(ui->widget0404);
    painter.setPen(Qt::yellow);
    painter.setBrush(Qt::yellow);
    painter.setRenderHint(QPainter::Antialiasing,true);

    int avg;
    int sum = 0;
    int offset = 0;
    int middle = ui->widget0404->height()/2;
    for (int i = 0; i < 6; i++) {
        sum += days[i].mTempHigh.toInt();
    }
    avg = sum/6;

    QPoint points[6];
    for (int i = 0; i < 6; i++) {
        points[i].setX(mAirTypeList[i]->x() + mAirTypeList[i]->width()/2);
        QString temStr = days[i].mTempHigh;
        int tem = days[i].mTempHigh.toInt();
        offset = ( tem - avg)*3;
        points[i].setY(middle-offset);
        painter.drawEllipse(QPoint(points[i]),3,3);
        if(tem > avg){
            painter.drawText(points[i].x(),points[i].y()+20,temStr+"℃");
        }else
        {
          painter.drawText(points[i].x(),points[i].y()-10,temStr+"℃");
        }
    }

    for (int i = 0; i < 5; i++) {
        painter.drawLine(points[i],points[i+1]);
    }
}

void Widget::drawTempLineLow()
{
    QPainter painter(ui->widget0405);
    painter.setPen(QColor(70,192,203));
    painter.setBrush(QColor(70,192,203));
    painter.setRenderHint(QPainter::Antialiasing,true);

    int avg;
    int sum = 0;
    int offset = 0;
    int middle = ui->widget0405->height()/2;
    for (int i = 0; i < 6; i++) {
        sum += days[i].mTempLow.toInt();
    }
    avg = sum/6;

    QPoint points[6];
    for (int i = 0; i < 6; i++) {
        points[i].setX(mAirTypeList[i]->x() + mAirTypeList[i]->width()/2);
        QString temStr = days[i].mTempLow;
        int tem = days[i].mTempLow.toInt();
        offset = ( tem - avg)*3;
        points[i].setY(middle-offset);
        painter.drawEllipse(QPoint(points[i]),3,3);
        if(tem > avg){
            painter.drawText(points[i].x(),points[i].y()+20,temStr+"℃");
        }else
        {
          painter.drawText(points[i].x(),points[i].y()-10,temStr+"℃");
        }
    }

    for (int i = 0; i < 5; i++) {
        painter.drawLine(points[i],points[i+1]);
    }
}

void Widget::readHttpReply(QNetworkReply *reply)
{
    int resCode = reply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt();
    //qDebug() << resCode;
    if(reply->error() == QNetworkReply::NoError && resCode == 200){
        QByteArray data = reply->readAll();
        parseWeatherJsonDataNew(data);
        //parseWeatherJsonData(data);
        //qDebug() << QString::fromUtf8(data);
    }else{
        QMessageBox mesBox;
        mesBox.setWindowTitle("错误");
        mesBox.setText("网络请求失败");
        mesBox.setStyleSheet("QPushButton{color:red}");
        mesBox.setStandardButtons(QMessageBox::Ok);
        mesBox.exec();
    }
}

void Widget::on_btnSearch_clicked()
{
    QString cityName = ui->lineEditSearch->text();

    QString cityCode = cityCodeUtils.getCityCodeFromName(cityName);
    if(cityCode != NULL){
        QString url = strUrl + "&cityid="+cityCode;
        manager->get(QNetworkRequest(QUrl(url)));
    }else{
        QMessageBox mesBox;
        mesBox.setWindowTitle("错误");
        mesBox.setText("请输入正确的城市名");
        mesBox.setStyleSheet("QPushButton{color:red}");
        mesBox.setStandardButtons(QMessageBox::Ok);
        mesBox.exec();
    }
}

UI

<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
 <class>Widget</class>
 <widget class="QWidget" name="Widget">
  <property name="geometry">
   <rect>
    <x>0</x>
    <y>0</y>
    <width>377</width>
    <height>790</height>
   </rect>
  </property>
  <property name="acceptDrops">
   <bool>false</bool>
  </property>
  <property name="windowTitle">
   <string>天气预报</string>
  </property>
  <property name="windowIcon">
   <iconset resource="res.qrc">
    <normaloff>:/res/airQi.png</normaloff>:/res/airQi.png</iconset>
  </property>
  <property name="styleSheet">
   <string notr="true">background-color: rgb(0, 0, 0);</string>
  </property>
  <widget class="QWidget" name="layoutWidget">
   <property name="geometry">
    <rect>
     <x>0</x>
     <y>0</y>
     <width>377</width>
     <height>791</height>
    </rect>
   </property>
   <layout class="QVBoxLayout" name="verticalLayout_6" stretch="1,2,5,8">
    <item>
     <widget class="QWidget" name="widget01" native="true">
      <property name="styleSheet">
       <string notr="true">color: rgb(230, 230, 230);</string>
      </property>
      <widget class="QWidget" name="layoutWidget">
       <property name="geometry">
        <rect>
         <x>0</x>
         <y>0</y>
         <width>361</width>
         <height>31</height>
        </rect>
       </property>
       <layout class="QHBoxLayout" name="horizontalLayout0101">
        <property name="leftMargin">
         <number>5</number>
        </property>
        <item>
         <layout class="QHBoxLayout" name="horizontalLayout_2">
          <item>
           <widget class="QLineEdit" name="lineEditSearch">
            <property name="minimumSize">
             <size>
              <width>150</width>
              <height>25</height>
             </size>
            </property>
            <property name="maximumSize">
             <size>
              <width>150</width>
              <height>25</height>
             </size>
            </property>
           </widget>
          </item>
          <item>
           <widget class="QPushButton" name="btnSearch">
            <property name="minimumSize">
             <size>
              <width>35</width>
              <height>25</height>
             </size>
            </property>
            <property name="maximumSize">
             <size>
              <width>35</width>
              <height>25</height>
             </size>
            </property>
            <property name="styleSheet">
             <string notr="true">border-radius: 5px;</string>
            </property>
            <property name="text">
             <string/>
            </property>
            <property name="icon">
             <iconset resource="res.qrc">
              <normaloff>:/res/search.png</normaloff>:/res/search.png</iconset>
            </property>
           </widget>
          </item>
         </layout>
        </item>
        <item>
         <spacer name="horizontalSpacer_2">
          <property name="orientation">
           <enum>Qt::Horizontal</enum>
          </property>
          <property name="sizeHint" stdset="0">
           <size>
            <width>40</width>
            <height>20</height>
           </size>
          </property>
         </spacer>
        </item>
        <item>
         <widget class="QLabel" name="labelCurrentDate">
          <property name="font">
           <font>
            <pointsize>11</pointsize>
           </font>
          </property>
          <property name="text">
           <string>2025/05/06 星期二</string>
          </property>
         </widget>
        </item>
       </layout>
      </widget>
     </widget>
    </item>
    <item>
     <widget class="QWidget" name="widget02" native="true">
      <property name="styleSheet">
       <string notr="true">color: rgb(230, 230, 230);</string>
      </property>
      <widget class="QLabel" name="labelWeatherIcon">
       <property name="geometry">
        <rect>
         <x>0</x>
         <y>10</y>
         <width>65</width>
         <height>65</height>
        </rect>
       </property>
       <property name="minimumSize">
        <size>
         <width>65</width>
         <height>65</height>
        </size>
       </property>
       <property name="maximumSize">
        <size>
         <width>65</width>
         <height>65</height>
        </size>
       </property>
       <property name="text">
        <string/>
       </property>
       <property name="pixmap">
        <pixmap resource="res.qrc">:/res/type/Qing.png</pixmap>
       </property>
       <property name="scaledContents">
        <bool>true</bool>
       </property>
      </widget>
      <widget class="QWidget" name="layoutWidget">
       <property name="geometry">
        <rect>
         <x>70</x>
         <y>0</y>
         <width>291</width>
         <height>91</height>
        </rect>
       </property>
       <layout class="QGridLayout" name="gridLayout0201">
        <item row="1" column="0">
         <widget class="QLabel" name="labelWeather">
          <property name="text">
           <string>晴天</string>
          </property>
         </widget>
        </item>
        <item row="1" column="1">
         <widget class="QLabel" name="labelRangeTemperature">
          <property name="text">
           <string>20~23℃</string>
          </property>
         </widget>
        </item>
        <item row="1" column="2">
         <spacer name="horizontalSpacer">
          <property name="orientation">
           <enum>Qt::Horizontal</enum>
          </property>
          <property name="sizeHint" stdset="0">
           <size>
            <width>40</width>
            <height>20</height>
           </size>
          </property>
         </spacer>
        </item>
        <item row="0" column="0">
         <widget class="QLabel" name="labelTemperature">
          <property name="font">
           <font>
            <pointsize>20</pointsize>
           </font>
          </property>
          <property name="text">
           <string>23</string>
          </property>
          <property name="alignment">
           <set>Qt::AlignCenter</set>
          </property>
         </widget>
        </item>
        <item row="0" column="3">
         <widget class="QLabel" name="labelCity">
          <property name="font">
           <font>
            <pointsize>12</pointsize>
           </font>
          </property>
          <property name="text">
           <string>深圳市</string>
          </property>
         </widget>
        </item>
       </layout>
      </widget>
     </widget>
    </item>
    <item>
     <widget class="QWidget" name="widget03" native="true">
      <property name="styleSheet">
       <string notr="true">color: rgb(230, 230, 230);</string>
      </property>
      <widget class="QLabel" name="labelGanMao">
       <property name="geometry">
        <rect>
         <x>20</x>
         <y>10</y>
         <width>481</width>
         <height>21</height>
        </rect>
       </property>
       <property name="text">
        <string>感冒指数:各类人群可活动</string>
       </property>
      </widget>
      <widget class="QWidget" name="widget0301" native="true">
       <property name="geometry">
        <rect>
         <x>10</x>
         <y>50</y>
         <width>351</width>
         <height>161</height>
        </rect>
       </property>
       <property name="styleSheet">
        <string notr="true">background-color: rgb(255, 85, 0);
border-radius: 10px;
</string>
       </property>
       <layout class="QGridLayout" name="gridLayout">
        <property name="leftMargin">
         <number>35</number>
        </property>
        <property name="topMargin">
         <number>35</number>
        </property>
        <property name="rightMargin">
         <number>35</number>
        </property>
        <property name="bottomMargin">
         <number>35</number>
        </property>
        <property name="spacing">
         <number>10</number>
        </property>
        <item row="0" column="0">
         <layout class="QHBoxLayout" name="horizontalLayoutFX">
          <item>
           <widget class="QLabel" name="labelFX">
            <property name="maximumSize">
             <size>
              <width>45</width>
              <height>45</height>
             </size>
            </property>
            <property name="text">
             <string/>
            </property>
            <property name="pixmap">
             <pixmap resource="res.qrc">:/res/wind.png</pixmap>
            </property>
            <property name="scaledContents">
             <bool>true</bool>
            </property>
            <property name="wordWrap">
             <bool>false</bool>
            </property>
           </widget>
          </item>
          <item>
           <layout class="QVBoxLayout" name="verticalLayoutFX">
            <item>
             <widget class="QLabel" name="labelFXType">
              <property name="text">
               <string>东南风</string>
              </property>
              <property name="alignment">
               <set>Qt::AlignCenter</set>
              </property>
             </widget>
            </item>
            <item>
             <widget class="QLabel" name="labelFXValue">
              <property name="text">
               <string>2级</string>
              </property>
              <property name="alignment">
               <set>Qt::AlignCenter</set>
              </property>
             </widget>
            </item>
           </layout>
          </item>
         </layout>
        </item>
        <item row="0" column="1">
         <layout class="QHBoxLayout" name="horizontalLayoutPM">
          <item>
           <widget class="QLabel" name="labelPM">
            <property name="maximumSize">
             <size>
              <width>45</width>
              <height>45</height>
             </size>
            </property>
            <property name="text">
             <string/>
            </property>
            <property name="pixmap">
             <pixmap resource="res.qrc">:/res/pm25.png</pixmap>
            </property>
            <property name="scaledContents">
             <bool>true</bool>
            </property>
            <property name="wordWrap">
             <bool>false</bool>
            </property>
           </widget>
          </item>
          <item>
           <layout class="QVBoxLayout" name="verticalLayoutPM">
            <item>
             <widget class="QLabel" name="labelPMType">
              <property name="text">
               <string>PM2.5</string>
              </property>
              <property name="alignment">
               <set>Qt::AlignCenter</set>
              </property>
             </widget>
            </item>
            <item>
             <widget class="QLabel" name="labelPMValue">
              <property name="text">
               <string>24</string>
              </property>
              <property name="alignment">
               <set>Qt::AlignCenter</set>
              </property>
             </widget>
            </item>
           </layout>
          </item>
         </layout>
        </item>
        <item row="1" column="0">
         <layout class="QHBoxLayout" name="horizontalLayoutSD">
          <item>
           <widget class="QLabel" name="labelSD">
            <property name="maximumSize">
             <size>
              <width>45</width>
              <height>45</height>
             </size>
            </property>
            <property name="text">
             <string/>
            </property>
            <property name="pixmap">
             <pixmap resource="res.qrc">:/res/humidity.png</pixmap>
            </property>
            <property name="scaledContents">
             <bool>true</bool>
            </property>
            <property name="wordWrap">
             <bool>false</bool>
            </property>
           </widget>
          </item>
          <item>
           <layout class="QVBoxLayout" name="verticalLayoutSD">
            <item>
             <widget class="QLabel" name="labelSDType">
              <property name="text">
               <string>湿度</string>
              </property>
              <property name="alignment">
               <set>Qt::AlignCenter</set>
              </property>
             </widget>
            </item>
            <item>
             <widget class="QLabel" name="labelSDValue">
              <property name="text">
               <string>85%</string>
              </property>
              <property name="alignment">
               <set>Qt::AlignCenter</set>
              </property>
             </widget>
            </item>
           </layout>
          </item>
         </layout>
        </item>
        <item row="1" column="1">
         <layout class="QHBoxLayout" name="horizontalLayoutAIR">
          <item>
           <widget class="QLabel" name="labelAIR">
            <property name="maximumSize">
             <size>
              <width>45</width>
              <height>45</height>
             </size>
            </property>
            <property name="text">
             <string/>
            </property>
            <property name="pixmap">
             <pixmap resource="res.qrc">:/res/airQi.png</pixmap>
            </property>
            <property name="scaledContents">
             <bool>true</bool>
            </property>
            <property name="wordWrap">
             <bool>false</bool>
            </property>
           </widget>
          </item>
          <item>
           <layout class="QVBoxLayout" name="verticalLayoutAIR">
            <item>
             <widget class="QLabel" name="labelAIRType">
              <property name="text">
               <string>空气质量</string>
              </property>
              <property name="alignment">
               <set>Qt::AlignCenter</set>
              </property>
             </widget>
            </item>
            <item>
             <widget class="QLabel" name="labelAIRValue">
              <property name="text">
               <string>优</string>
              </property>
              <property name="alignment">
               <set>Qt::AlignCenter</set>
              </property>
             </widget>
            </item>
           </layout>
          </item>
         </layout>
        </item>
       </layout>
      </widget>
     </widget>
    </item>
    <item>
     <widget class="QWidget" name="widget04" native="true">
      <property name="styleSheet">
       <string notr="true">color: rgb(230, 230, 230);</string>
      </property>
      <layout class="QVBoxLayout" name="verticalLayout_5">
       <property name="leftMargin">
        <number>9</number>
       </property>
       <property name="topMargin">
        <number>9</number>
       </property>
       <property name="rightMargin">
        <number>9</number>
       </property>
       <item>
        <widget class="QWidget" name="widget0401" native="true">
         <layout class="QGridLayout" name="gridLayout_2">
          <property name="leftMargin">
           <number>0</number>
          </property>
          <property name="topMargin">
           <number>9</number>
          </property>
          <property name="rightMargin">
           <number>0</number>
          </property>
          <property name="bottomMargin">
           <number>9</number>
          </property>
          <property name="horizontalSpacing">
           <number>6</number>
          </property>
          <property name="verticalSpacing">
           <number>0</number>
          </property>
          <item row="1" column="4">
           <widget class="QLabel" name="labelDay5">
            <property name="minimumSize">
             <size>
              <width>50</width>
              <height>22</height>
             </size>
            </property>
            <property name="maximumSize">
             <size>
              <width>50</width>
              <height>22</height>
             </size>
            </property>
            <property name="styleSheet">
             <string notr="true">background-color: rgb(0, 170, 127);
border-top-right-radius: 5px;
border-top-left-radius: 5px;</string>
            </property>
            <property name="text">
             <string>昨天</string>
            </property>
            <property name="alignment">
             <set>Qt::AlignCenter</set>
            </property>
           </widget>
          </item>
          <item row="1" column="5">
           <widget class="QLabel" name="labelDay6">
            <property name="minimumSize">
             <size>
              <width>50</width>
              <height>22</height>
             </size>
            </property>
            <property name="maximumSize">
             <size>
              <width>50</width>
              <height>22</height>
             </size>
            </property>
            <property name="styleSheet">
             <string notr="true">background-color: rgb(0, 170, 127);
border-top-right-radius: 5px;
border-top-left-radius: 5px;</string>
            </property>
            <property name="text">
             <string>昨天</string>
            </property>
            <property name="alignment">
             <set>Qt::AlignCenter</set>
            </property>
           </widget>
          </item>
          <item row="2" column="0">
           <widget class="QLabel" name="labelDate1">
            <property name="minimumSize">
             <size>
              <width>50</width>
              <height>22</height>
             </size>
            </property>
            <property name="maximumSize">
             <size>
              <width>50</width>
              <height>22</height>
             </size>
            </property>
            <property name="styleSheet">
             <string notr="true">background-color: rgb(0, 170, 127);
border-radius: 5px;
border-top-right-radius: 0px;
border-top-left-radius: 0px;</string>
            </property>
            <property name="text">
             <string>05/06</string>
            </property>
            <property name="alignment">
             <set>Qt::AlignCenter</set>
            </property>
           </widget>
          </item>
          <item row="1" column="3">
           <widget class="QLabel" name="labelDay4">
            <property name="minimumSize">
             <size>
              <width>50</width>
              <height>22</height>
             </size>
            </property>
            <property name="maximumSize">
             <size>
              <width>50</width>
              <height>22</height>
             </size>
            </property>
            <property name="styleSheet">
             <string notr="true">background-color: rgb(0, 170, 127);
border-top-right-radius: 5px;
border-top-left-radius: 5px;</string>
            </property>
            <property name="text">
             <string>昨天</string>
            </property>
            <property name="alignment">
             <set>Qt::AlignCenter</set>
            </property>
           </widget>
          </item>
          <item row="1" column="1">
           <widget class="QLabel" name="labelDay2">
            <property name="minimumSize">
             <size>
              <width>50</width>
              <height>22</height>
             </size>
            </property>
            <property name="maximumSize">
             <size>
              <width>50</width>
              <height>22</height>
             </size>
            </property>
            <property name="styleSheet">
             <string notr="true">background-color: rgb(0, 170, 127);
border-top-right-radius: 5px;
border-top-left-radius: 5px;</string>
            </property>
            <property name="text">
             <string>昨天</string>
            </property>
            <property name="alignment">
             <set>Qt::AlignCenter</set>
            </property>
           </widget>
          </item>
          <item row="1" column="0">
           <widget class="QLabel" name="labelDay1">
            <property name="minimumSize">
             <size>
              <width>50</width>
              <height>22</height>
             </size>
            </property>
            <property name="maximumSize">
             <size>
              <width>50</width>
              <height>22</height>
             </size>
            </property>
            <property name="styleSheet">
             <string notr="true">background-color: rgb(0, 170, 127);
border-top-right-radius: 5px;
border-top-left-radius: 5px;</string>
            </property>
            <property name="text">
             <string>昨天</string>
            </property>
            <property name="alignment">
             <set>Qt::AlignCenter</set>
            </property>
           </widget>
          </item>
          <item row="2" column="2">
           <widget class="QLabel" name="labelDate3">
            <property name="minimumSize">
             <size>
              <width>50</width>
              <height>22</height>
             </size>
            </property>
            <property name="maximumSize">
             <size>
              <width>50</width>
              <height>22</height>
             </size>
            </property>
            <property name="styleSheet">
             <string notr="true">background-color: rgb(0, 170, 127);
border-bottom-right-radius: 5px;
border-bottom-left-radius: 5px;</string>
            </property>
            <property name="text">
             <string>05/06</string>
            </property>
            <property name="alignment">
             <set>Qt::AlignCenter</set>
            </property>
           </widget>
          </item>
          <item row="2" column="5">
           <widget class="QLabel" name="labelDate6">
            <property name="minimumSize">
             <size>
              <width>50</width>
              <height>22</height>
             </size>
            </property>
            <property name="maximumSize">
             <size>
              <width>50</width>
              <height>22</height>
             </size>
            </property>
            <property name="styleSheet">
             <string notr="true">background-color: rgb(0, 170, 127);
border-bottom-right-radius: 5px;
border-bottom-left-radius: 5px;</string>
            </property>
            <property name="text">
             <string>05/06</string>
            </property>
            <property name="alignment">
             <set>Qt::AlignCenter</set>
            </property>
           </widget>
          </item>
          <item row="2" column="4">
           <widget class="QLabel" name="labelDate5">
            <property name="minimumSize">
             <size>
              <width>50</width>
              <height>22</height>
             </size>
            </property>
            <property name="maximumSize">
             <size>
              <width>50</width>
              <height>22</height>
             </size>
            </property>
            <property name="styleSheet">
             <string notr="true">background-color: rgb(0, 170, 127);
border-bottom-right-radius: 5px;
border-bottom-left-radius: 5px;</string>
            </property>
            <property name="text">
             <string>05/06</string>
            </property>
            <property name="alignment">
             <set>Qt::AlignCenter</set>
            </property>
           </widget>
          </item>
          <item row="2" column="3">
           <widget class="QLabel" name="labelDate4">
            <property name="minimumSize">
             <size>
              <width>50</width>
              <height>22</height>
             </size>
            </property>
            <property name="maximumSize">
             <size>
              <width>50</width>
              <height>22</height>
             </size>
            </property>
            <property name="styleSheet">
             <string notr="true">background-color: rgb(0, 170, 127);
border-bottom-right-radius: 5px;
border-bottom-left-radius: 5px;</string>
            </property>
            <property name="text">
             <string>05/06</string>
            </property>
            <property name="alignment">
             <set>Qt::AlignCenter</set>
            </property>
           </widget>
          </item>
          <item row="1" column="2">
           <widget class="QLabel" name="labelDay3">
            <property name="minimumSize">
             <size>
              <width>50</width>
              <height>22</height>
             </size>
            </property>
            <property name="maximumSize">
             <size>
              <width>50</width>
              <height>22</height>
             </size>
            </property>
            <property name="styleSheet">
             <string notr="true">background-color: rgb(0, 170, 127);
border-top-right-radius: 5px;
border-top-left-radius: 5px;</string>
            </property>
            <property name="text">
             <string>昨天</string>
            </property>
            <property name="alignment">
             <set>Qt::AlignCenter</set>
            </property>
           </widget>
          </item>
          <item row="2" column="1">
           <widget class="QLabel" name="labelDate2">
            <property name="minimumSize">
             <size>
              <width>50</width>
              <height>22</height>
             </size>
            </property>
            <property name="maximumSize">
             <size>
              <width>50</width>
              <height>22</height>
             </size>
            </property>
            <property name="styleSheet">
             <string notr="true">background-color: rgb(0, 170, 127);
border-bottom-right-radius: 5px;
border-bottom-left-radius: 5px;</string>
            </property>
            <property name="text">
             <string>05/06</string>
            </property>
            <property name="alignment">
             <set>Qt::AlignCenter</set>
            </property>
           </widget>
          </item>
         </layout>
        </widget>
       </item>
       <item>
        <widget class="QWidget" name="widget0402" native="true">
         <property name="layoutDirection">
          <enum>Qt::LeftToRight</enum>
         </property>
         <layout class="QGridLayout" name="gridLayout_4">
          <property name="leftMargin">
           <number>0</number>
          </property>
          <property name="rightMargin">
           <number>0</number>
          </property>
          <item row="0" column="0">
           <layout class="QVBoxLayout" name="verticalLayoutDay1">
            <property name="spacing">
             <number>0</number>
            </property>
            <property name="leftMargin">
             <number>0</number>
            </property>
            <item>
             <widget class="QLabel" name="labelDayIcon1">
              <property name="minimumSize">
               <size>
                <width>50</width>
                <height>45</height>
               </size>
              </property>
              <property name="maximumSize">
               <size>
                <width>50</width>
                <height>45</height>
               </size>
              </property>
              <property name="styleSheet">
               <string notr="true">background-color: rgb(81, 81, 81);

border-top-right-radius: 5px;
border-top-left-radius: 5px;</string>
              </property>
              <property name="text">
               <string/>
              </property>
              <property name="pixmap">
               <pixmap resource="res.qrc">:/res/type/DuoYun.png</pixmap>
              </property>
              <property name="scaledContents">
               <bool>false</bool>
              </property>
             </widget>
            </item>
            <item>
             <widget class="QLabel" name="labelDayValue1">
              <property name="minimumSize">
               <size>
                <width>50</width>
                <height>20</height>
               </size>
              </property>
              <property name="maximumSize">
               <size>
                <width>50</width>
                <height>20</height>
               </size>
              </property>
              <property name="styleSheet">
               <string notr="true">color: rgb(230, 230, 230);
background-color: rgb(81, 81, 81);
border-radius: 5px;
border-top-right-radius: 0px;
border-top-left-radius: 0px;</string>
              </property>
              <property name="text">
               <string>多云</string>
              </property>
              <property name="alignment">
               <set>Qt::AlignCenter</set>
              </property>
             </widget>
            </item>
           </layout>
          </item>
          <item row="0" column="1">
           <layout class="QVBoxLayout" name="verticalLayoutDay2">
            <property name="spacing">
             <number>0</number>
            </property>
            <property name="leftMargin">
             <number>0</number>
            </property>
            <item>
             <widget class="QLabel" name="labelDayIcon2">
              <property name="minimumSize">
               <size>
                <width>50</width>
                <height>45</height>
               </size>
              </property>
              <property name="maximumSize">
               <size>
                <width>50</width>
                <height>45</height>
               </size>
              </property>
              <property name="styleSheet">
               <string notr="true">background-color: rgb(81, 81, 81);

border-top-right-radius: 5px;
border-top-left-radius: 5px;</string>
              </property>
              <property name="text">
               <string/>
              </property>
              <property name="pixmap">
               <pixmap resource="res.qrc">:/res/type/DuoYun.png</pixmap>
              </property>
              <property name="scaledContents">
               <bool>false</bool>
              </property>
             </widget>
            </item>
            <item>
             <widget class="QLabel" name="labelDayValue2">
              <property name="minimumSize">
               <size>
                <width>50</width>
                <height>20</height>
               </size>
              </property>
              <property name="maximumSize">
               <size>
                <width>50</width>
                <height>20</height>
               </size>
              </property>
              <property name="styleSheet">
               <string notr="true">color: rgb(230, 230, 230);
background-color: rgb(81, 81, 81);
border-radius: 5px;
border-top-right-radius: 0px;
border-top-left-radius: 0px;</string>
              </property>
              <property name="text">
               <string>多云</string>
              </property>
              <property name="alignment">
               <set>Qt::AlignCenter</set>
              </property>
             </widget>
            </item>
           </layout>
          </item>
          <item row="0" column="2">
           <layout class="QVBoxLayout" name="verticalLayoutDay3">
            <property name="spacing">
             <number>0</number>
            </property>
            <property name="leftMargin">
             <number>0</number>
            </property>
            <item>
             <widget class="QLabel" name="labelDayIcon3">
              <property name="minimumSize">
               <size>
                <width>50</width>
                <height>45</height>
               </size>
              </property>
              <property name="maximumSize">
               <size>
                <width>50</width>
                <height>45</height>
               </size>
              </property>
              <property name="styleSheet">
               <string notr="true">background-color: rgb(81, 81, 81);

border-top-right-radius: 5px;
border-top-left-radius: 5px;</string>
              </property>
              <property name="text">
               <string/>
              </property>
              <property name="pixmap">
               <pixmap resource="res.qrc">:/res/type/DuoYun.png</pixmap>
              </property>
              <property name="scaledContents">
               <bool>false</bool>
              </property>
             </widget>
            </item>
            <item>
             <widget class="QLabel" name="labelDayValue3">
              <property name="minimumSize">
               <size>
                <width>50</width>
                <height>20</height>
               </size>
              </property>
              <property name="maximumSize">
               <size>
                <width>50</width>
                <height>20</height>
               </size>
              </property>
              <property name="styleSheet">
               <string notr="true">color: rgb(230, 230, 230);
background-color: rgb(81, 81, 81);
border-radius: 5px;
border-top-right-radius: 0px;
border-top-left-radius: 0px;</string>
              </property>
              <property name="text">
               <string>多云</string>
              </property>
              <property name="alignment">
               <set>Qt::AlignCenter</set>
              </property>
             </widget>
            </item>
           </layout>
          </item>
          <item row="0" column="3">
           <layout class="QVBoxLayout" name="verticalLayoutDay4">
            <property name="spacing">
             <number>0</number>
            </property>
            <property name="leftMargin">
             <number>0</number>
            </property>
            <item>
             <widget class="QLabel" name="labelDayIcon4">
              <property name="minimumSize">
               <size>
                <width>50</width>
                <height>45</height>
               </size>
              </property>
              <property name="maximumSize">
               <size>
                <width>50</width>
                <height>45</height>
               </size>
              </property>
              <property name="styleSheet">
               <string notr="true">background-color: rgb(81, 81, 81);

border-top-right-radius: 5px;
border-top-left-radius: 5px;</string>
              </property>
              <property name="text">
               <string/>
              </property>
              <property name="pixmap">
               <pixmap resource="res.qrc">:/res/type/DuoYun.png</pixmap>
              </property>
              <property name="scaledContents">
               <bool>false</bool>
              </property>
             </widget>
            </item>
            <item>
             <widget class="QLabel" name="labelDayValue4">
              <property name="minimumSize">
               <size>
                <width>50</width>
                <height>20</height>
               </size>
              </property>
              <property name="maximumSize">
               <size>
                <width>50</width>
                <height>20</height>
               </size>
              </property>
              <property name="styleSheet">
               <string notr="true">color: rgb(230, 230, 230);
background-color: rgb(81, 81, 81);
border-radius: 5px;
border-top-right-radius: 0px;
border-top-left-radius: 0px;</string>
              </property>
              <property name="text">
               <string>多云</string>
              </property>
              <property name="alignment">
               <set>Qt::AlignCenter</set>
              </property>
             </widget>
            </item>
           </layout>
          </item>
          <item row="0" column="4">
           <layout class="QVBoxLayout" name="verticalLayoutDay5">
            <property name="spacing">
             <number>0</number>
            </property>
            <property name="leftMargin">
             <number>0</number>
            </property>
            <item>
             <widget class="QLabel" name="labelDayIcon5">
              <property name="minimumSize">
               <size>
                <width>50</width>
                <height>45</height>
               </size>
              </property>
              <property name="maximumSize">
               <size>
                <width>50</width>
                <height>45</height>
               </size>
              </property>
              <property name="styleSheet">
               <string notr="true">background-color: rgb(81, 81, 81);

border-top-right-radius: 5px;
border-top-left-radius: 5px;</string>
              </property>
              <property name="text">
               <string/>
              </property>
              <property name="pixmap">
               <pixmap resource="res.qrc">:/res/type/DuoYun.png</pixmap>
              </property>
              <property name="scaledContents">
               <bool>false</bool>
              </property>
             </widget>
            </item>
            <item>
             <widget class="QLabel" name="labelDayValue5">
              <property name="minimumSize">
               <size>
                <width>50</width>
                <height>20</height>
               </size>
              </property>
              <property name="maximumSize">
               <size>
                <width>50</width>
                <height>20</height>
               </size>
              </property>
              <property name="styleSheet">
               <string notr="true">color: rgb(230, 230, 230);
background-color: rgb(81, 81, 81);
border-radius: 5px;
border-top-right-radius: 0px;
border-top-left-radius: 0px;</string>
              </property>
              <property name="text">
               <string>多云</string>
              </property>
              <property name="alignment">
               <set>Qt::AlignCenter</set>
              </property>
             </widget>
            </item>
           </layout>
          </item>
          <item row="0" column="5">
           <layout class="QVBoxLayout" name="verticalLayoutDay6">
            <property name="spacing">
             <number>0</number>
            </property>
            <property name="leftMargin">
             <number>0</number>
            </property>
            <item>
             <widget class="QLabel" name="labelDayIcon6">
              <property name="minimumSize">
               <size>
                <width>50</width>
                <height>45</height>
               </size>
              </property>
              <property name="maximumSize">
               <size>
                <width>50</width>
                <height>45</height>
               </size>
              </property>
              <property name="styleSheet">
               <string notr="true">background-color: rgb(81, 81, 81);

border-top-right-radius: 5px;
border-top-left-radius: 5px;</string>
              </property>
              <property name="text">
               <string/>
              </property>
              <property name="pixmap">
               <pixmap resource="res.qrc">:/res/type/DuoYun.png</pixmap>
              </property>
              <property name="scaledContents">
               <bool>false</bool>
              </property>
             </widget>
            </item>
            <item>
             <widget class="QLabel" name="labelDayValue6">
              <property name="minimumSize">
               <size>
                <width>50</width>
                <height>20</height>
               </size>
              </property>
              <property name="maximumSize">
               <size>
                <width>50</width>
                <height>20</height>
               </size>
              </property>
              <property name="styleSheet">
               <string notr="true">color: rgb(230, 230, 230);
background-color: rgb(81, 81, 81);
border-radius: 5px;
border-top-right-radius: 0px;
border-top-left-radius: 0px;</string>
              </property>
              <property name="text">
               <string>多云</string>
              </property>
              <property name="alignment">
               <set>Qt::AlignCenter</set>
              </property>
             </widget>
            </item>
           </layout>
          </item>
         </layout>
        </widget>
       </item>
       <item>
        <widget class="QWidget" name="widget0403" native="true">
         <layout class="QGridLayout" name="gridLayout_6">
          <property name="leftMargin">
           <number>0</number>
          </property>
          <property name="rightMargin">
           <number>0</number>
          </property>
          <item row="0" column="0">
           <layout class="QHBoxLayout" name="horizontalLayout">
            <property name="spacing">
             <number>5</number>
            </property>
            <item>
             <widget class="QLabel" name="labelAirValue1">
              <property name="minimumSize">
               <size>
                <width>55</width>
                <height>40</height>
               </size>
              </property>
              <property name="maximumSize">
               <size>
                <width>55</width>
                <height>40</height>
               </size>
              </property>
              <property name="styleSheet">
               <string notr="true">color: rgb(230, 230, 230);
background-color: rgb(0, 179, 100);
border-radius: 5px;</string>
              </property>
              <property name="text">
               <string>优</string>
              </property>
              <property name="alignment">
               <set>Qt::AlignCenter</set>
              </property>
             </widget>
            </item>
            <item>
             <widget class="QLabel" name="labelAirValue2">
              <property name="minimumSize">
               <size>
                <width>55</width>
                <height>40</height>
               </size>
              </property>
              <property name="maximumSize">
               <size>
                <width>55</width>
                <height>40</height>
               </size>
              </property>
              <property name="styleSheet">
               <string notr="true">color: rgb(230, 230, 230);
background-color: rgb(0, 255, 0);
border-radius: 5px;</string>
              </property>
              <property name="text">
               <string>优</string>
              </property>
              <property name="alignment">
               <set>Qt::AlignCenter</set>
              </property>
             </widget>
            </item>
            <item>
             <widget class="QLabel" name="labelAirValue3">
              <property name="minimumSize">
               <size>
                <width>55</width>
                <height>40</height>
               </size>
              </property>
              <property name="maximumSize">
               <size>
                <width>55</width>
                <height>40</height>
               </size>
              </property>
              <property name="styleSheet">
               <string notr="true">color: rgb(230, 230, 230);
background-color: rgb(0, 255, 0);
border-radius: 5px;</string>
              </property>
              <property name="text">
               <string>优</string>
              </property>
              <property name="alignment">
               <set>Qt::AlignCenter</set>
              </property>
             </widget>
            </item>
            <item>
             <widget class="QLabel" name="labelAirValue4">
              <property name="minimumSize">
               <size>
                <width>55</width>
                <height>40</height>
               </size>
              </property>
              <property name="maximumSize">
               <size>
                <width>55</width>
                <height>40</height>
               </size>
              </property>
              <property name="styleSheet">
               <string notr="true">color: rgb(230, 230, 230);
background-color: rgb(0, 255, 0);
border-radius: 5px;</string>
              </property>
              <property name="text">
               <string>优</string>
              </property>
              <property name="alignment">
               <set>Qt::AlignCenter</set>
              </property>
             </widget>
            </item>
            <item>
             <widget class="QLabel" name="labelAirValue5">
              <property name="minimumSize">
               <size>
                <width>55</width>
                <height>40</height>
               </size>
              </property>
              <property name="maximumSize">
               <size>
                <width>55</width>
                <height>40</height>
               </size>
              </property>
              <property name="styleSheet">
               <string notr="true">color: rgb(230, 230, 230);
background-color: rgb(0, 255, 0);
border-radius: 5px;</string>
              </property>
              <property name="text">
               <string>优</string>
              </property>
              <property name="alignment">
               <set>Qt::AlignCenter</set>
              </property>
             </widget>
            </item>
            <item>
             <widget class="QLabel" name="labelAirValue6">
              <property name="minimumSize">
               <size>
                <width>55</width>
                <height>40</height>
               </size>
              </property>
              <property name="maximumSize">
               <size>
                <width>55</width>
                <height>40</height>
               </size>
              </property>
              <property name="styleSheet">
               <string notr="true">color: rgb(230, 230, 230);
background-color: rgb(0, 255, 0);
border-radius: 5px;</string>
              </property>
              <property name="text">
               <string>优</string>
              </property>
              <property name="alignment">
               <set>Qt::AlignCenter</set>
              </property>
             </widget>
            </item>
           </layout>
          </item>
         </layout>
        </widget>
       </item>
       <item>
        <widget class="QWidget" name="widget0404" native="true">
         <property name="minimumSize">
          <size>
           <width>0</width>
           <height>60</height>
          </size>
         </property>
         <property name="styleSheet">
          <string notr="true">background-color: rgb(108, 108, 108);
border-radius: 5px;</string>
         </property>
        </widget>
       </item>
       <item>
        <widget class="QWidget" name="widget0405" native="true">
         <property name="minimumSize">
          <size>
           <width>0</width>
           <height>60</height>
          </size>
         </property>
         <property name="styleSheet">
          <string notr="true">background-color: rgb(108, 108, 108);
border-radius: 5px;</string>
         </property>
        </widget>
       </item>
       <item>
        <widget class="QWidget" name="widget0406" native="true">
         <property name="styleSheet">
          <string notr="true"/>
         </property>
         <layout class="QGridLayout" name="gridLayout_3">
          <property name="leftMargin">
           <number>0</number>
          </property>
          <property name="rightMargin">
           <number>0</number>
          </property>
          <property name="verticalSpacing">
           <number>0</number>
          </property>
          <item row="0" column="0">
           <layout class="QVBoxLayout" name="verticalLayoutWind1">
            <property name="spacing">
             <number>0</number>
            </property>
            <item>
             <widget class="QLabel" name="labelWindDir1">
              <property name="minimumSize">
               <size>
                <width>50</width>
                <height>20</height>
               </size>
              </property>
              <property name="maximumSize">
               <size>
                <width>50</width>
                <height>20</height>
               </size>
              </property>
              <property name="styleSheet">
               <string notr="true">color: rgb(230, 230, 230);
background-color: rgb(81, 81, 81);
border-top-right-radius: 5px;
border-top-left-radius: 5px;</string>
              </property>
              <property name="text">
               <string>东南风</string>
              </property>
              <property name="scaledContents">
               <bool>false</bool>
              </property>
              <property name="alignment">
               <set>Qt::AlignCenter</set>
              </property>
             </widget>
            </item>
            <item>
             <widget class="QLabel" name="labelWindValue1">
              <property name="minimumSize">
               <size>
                <width>50</width>
                <height>20</height>
               </size>
              </property>
              <property name="maximumSize">
               <size>
                <width>50</width>
                <height>20</height>
               </size>
              </property>
              <property name="styleSheet">
               <string notr="true">color: rgb(230, 230, 230);
background-color: rgb(81, 81, 81);
border-radius: 5px;
border-top-right-radius: 0px;
border-top-left-radius: 0px;</string>
              </property>
              <property name="text">
               <string>2级</string>
              </property>
              <property name="alignment">
               <set>Qt::AlignCenter</set>
              </property>
             </widget>
            </item>
           </layout>
          </item>
          <item row="0" column="1">
           <layout class="QVBoxLayout" name="verticalLayoutWind2">
            <property name="spacing">
             <number>0</number>
            </property>
            <item>
             <widget class="QLabel" name="labelWindDir2">
              <property name="minimumSize">
               <size>
                <width>50</width>
                <height>20</height>
               </size>
              </property>
              <property name="maximumSize">
               <size>
                <width>50</width>
                <height>20</height>
               </size>
              </property>
              <property name="styleSheet">
               <string notr="true">color: rgb(230, 230, 230);
background-color: rgb(81, 81, 81);
border-top-right-radius: 5px;
border-top-left-radius: 5px;</string>
              </property>
              <property name="text">
               <string>东南风</string>
              </property>
              <property name="scaledContents">
               <bool>false</bool>
              </property>
              <property name="alignment">
               <set>Qt::AlignCenter</set>
              </property>
             </widget>
            </item>
            <item>
             <widget class="QLabel" name="labelWindValue2">
              <property name="minimumSize">
               <size>
                <width>50</width>
                <height>20</height>
               </size>
              </property>
              <property name="maximumSize">
               <size>
                <width>50</width>
                <height>20</height>
               </size>
              </property>
              <property name="styleSheet">
               <string notr="true">color: rgb(230, 230, 230);
background-color: rgb(81, 81, 81);
border-radius: 5px;
border-top-right-radius: 0px;
border-top-left-radius: 0px;</string>
              </property>
              <property name="text">
               <string>2级</string>
              </property>
              <property name="alignment">
               <set>Qt::AlignCenter</set>
              </property>
             </widget>
            </item>
           </layout>
          </item>
          <item row="0" column="2">
           <layout class="QVBoxLayout" name="verticalLayoutWind3">
            <property name="spacing">
             <number>0</number>
            </property>
            <item>
             <widget class="QLabel" name="labelWindDir3">
              <property name="minimumSize">
               <size>
                <width>50</width>
                <height>20</height>
               </size>
              </property>
              <property name="maximumSize">
               <size>
                <width>50</width>
                <height>20</height>
               </size>
              </property>
              <property name="styleSheet">
               <string notr="true">color: rgb(230, 230, 230);
background-color: rgb(81, 81, 81);
border-top-right-radius: 5px;
border-top-left-radius: 5px;</string>
              </property>
              <property name="text">
               <string>东南风</string>
              </property>
              <property name="scaledContents">
               <bool>false</bool>
              </property>
              <property name="alignment">
               <set>Qt::AlignCenter</set>
              </property>
             </widget>
            </item>
            <item>
             <widget class="QLabel" name="labelWindValue3">
              <property name="minimumSize">
               <size>
                <width>50</width>
                <height>20</height>
               </size>
              </property>
              <property name="maximumSize">
               <size>
                <width>50</width>
                <height>20</height>
               </size>
              </property>
              <property name="styleSheet">
               <string notr="true">color: rgb(230, 230, 230);
background-color: rgb(81, 81, 81);
border-radius: 5px;
border-top-right-radius: 0px;
border-top-left-radius: 0px;</string>
              </property>
              <property name="text">
               <string>2级</string>
              </property>
              <property name="alignment">
               <set>Qt::AlignCenter</set>
              </property>
             </widget>
            </item>
           </layout>
          </item>
          <item row="0" column="3">
           <layout class="QVBoxLayout" name="verticalLayoutWind4">
            <property name="spacing">
             <number>0</number>
            </property>
            <item>
             <widget class="QLabel" name="labelWindDir4">
              <property name="minimumSize">
               <size>
                <width>50</width>
                <height>20</height>
               </size>
              </property>
              <property name="maximumSize">
               <size>
                <width>50</width>
                <height>20</height>
               </size>
              </property>
              <property name="styleSheet">
               <string notr="true">color: rgb(230, 230, 230);
background-color: rgb(81, 81, 81);
border-top-right-radius: 5px;
border-top-left-radius: 5px;</string>
              </property>
              <property name="text">
               <string>东南风</string>
              </property>
              <property name="scaledContents">
               <bool>false</bool>
              </property>
              <property name="alignment">
               <set>Qt::AlignCenter</set>
              </property>
             </widget>
            </item>
            <item>
             <widget class="QLabel" name="labelWindValue4">
              <property name="minimumSize">
               <size>
                <width>50</width>
                <height>20</height>
               </size>
              </property>
              <property name="maximumSize">
               <size>
                <width>50</width>
                <height>20</height>
               </size>
              </property>
              <property name="styleSheet">
               <string notr="true">color: rgb(230, 230, 230);
background-color: rgb(81, 81, 81);
border-radius: 5px;
border-top-right-radius: 0px;
border-top-left-radius: 0px;</string>
              </property>
              <property name="text">
               <string>2级</string>
              </property>
              <property name="alignment">
               <set>Qt::AlignCenter</set>
              </property>
             </widget>
            </item>
           </layout>
          </item>
          <item row="0" column="4">
           <layout class="QVBoxLayout" name="verticalLayoutWind5">
            <property name="spacing">
             <number>0</number>
            </property>
            <item>
             <widget class="QLabel" name="labelWindDir5">
              <property name="minimumSize">
               <size>
                <width>50</width>
                <height>20</height>
               </size>
              </property>
              <property name="maximumSize">
               <size>
                <width>50</width>
                <height>20</height>
               </size>
              </property>
              <property name="styleSheet">
               <string notr="true">color: rgb(230, 230, 230);
background-color: rgb(81, 81, 81);
border-top-right-radius: 5px;
border-top-left-radius: 5px;</string>
              </property>
              <property name="text">
               <string>东南风</string>
              </property>
              <property name="scaledContents">
               <bool>false</bool>
              </property>
              <property name="alignment">
               <set>Qt::AlignCenter</set>
              </property>
             </widget>
            </item>
            <item>
             <widget class="QLabel" name="labelWindValue5">
              <property name="minimumSize">
               <size>
                <width>50</width>
                <height>20</height>
               </size>
              </property>
              <property name="maximumSize">
               <size>
                <width>50</width>
                <height>20</height>
               </size>
              </property>
              <property name="styleSheet">
               <string notr="true">color: rgb(230, 230, 230);
background-color: rgb(81, 81, 81);
border-radius: 5px;
border-top-right-radius: 0px;
border-top-left-radius: 0px;</string>
              </property>
              <property name="text">
               <string>2级</string>
              </property>
              <property name="alignment">
               <set>Qt::AlignCenter</set>
              </property>
             </widget>
            </item>
           </layout>
          </item>
          <item row="0" column="5">
           <layout class="QVBoxLayout" name="verticalLayoutWind6">
            <property name="spacing">
             <number>0</number>
            </property>
            <item>
             <widget class="QLabel" name="labelWindDir6">
              <property name="minimumSize">
               <size>
                <width>50</width>
                <height>20</height>
               </size>
              </property>
              <property name="maximumSize">
               <size>
                <width>50</width>
                <height>20</height>
               </size>
              </property>
              <property name="styleSheet">
               <string notr="true">color: rgb(230, 230, 230);
background-color: rgb(81, 81, 81);
border-top-right-radius: 5px;
border-top-left-radius: 5px;</string>
              </property>
              <property name="text">
               <string>东南风</string>
              </property>
              <property name="scaledContents">
               <bool>false</bool>
              </property>
              <property name="alignment">
               <set>Qt::AlignCenter</set>
              </property>
             </widget>
            </item>
            <item>
             <widget class="QLabel" name="labelWindValue6">
              <property name="minimumSize">
               <size>
                <width>50</width>
                <height>20</height>
               </size>
              </property>
              <property name="maximumSize">
               <size>
                <width>50</width>
                <height>20</height>
               </size>
              </property>
              <property name="styleSheet">
               <string notr="true">color: rgb(230, 230, 230);
background-color: rgb(81, 81, 81);
border-radius: 5px;
border-top-right-radius: 0px;
border-top-left-radius: 0px;</string>
              </property>
              <property name="text">
               <string>2级</string>
              </property>
              <property name="alignment">
               <set>Qt::AlignCenter</set>
              </property>
             </widget>
            </item>
           </layout>
          </item>
         </layout>
        </widget>
       </item>
      </layout>
     </widget>
    </item>
   </layout>
  </widget>
 </widget>
 <resources>
  <include location="res.qrc"/>
 </resources>
 <connections/>
</ui>
posted @ 2025-05-09 12:08  站着说话不腰疼  阅读(61)  评论(0)    收藏  举报