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>

浙公网安备 33010602011771号