WeatherApp v0.1
Loading...
Searching...
No Matches
mainwindow.cpp
Go to the documentation of this file.
1
7#include "mainwindow.h"
8#include "ui_mainwindow.h"
9
10MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow), weather("metric","en"){
11 ui->setupUi(this);
12 weather.getFromCity("Paris");
13 setUI();
14}
15
17 delete ui;
18}
19
21 QString input = ui->lineEditSearch->text();
22 if(input.isEmpty() || input.isNull())
23 return;
24
25 if(weather.getFromCity(input)){
26 setUI();
27 }
28}
29
31 ui->label_CityName->setText(weather.data.name + " " + weather.data.sys.country);
32 ui->label_Temp->setText(QString::number(weather.data.temp) + weather.getTempUnit());
33
34 QString filePath = ":/resources/img/" + weather.data.weather.icon + ".png";
35 ui->label_Icon->setPixmap(QPixmap(filePath));
36
37 ui->label_Description->setText(weather.data.weather.description);
38 ui->label_FeelsLike->setText("Feels Like: " + QString::number(weather.data.feels_like) + weather.getTempUnit());
39 ui->label_Wind->setText("Wind speed: " + QString::number(weather.data.wind.speed) + "km/h");
40 ui->label_Humidity->setText("Humidity: " + QString::number(weather.data.humidity) + "%");
41
42 ui->label_minTemp->setText("min: "+QString::number(weather.data.temp_min) + weather.getTempUnit());
43 ui->label_maxTemp->setText("max: "+QString::number(weather.data.temp_max) + weather.getTempUnit());
44
45 int hour = QDateTime::fromSecsSinceEpoch(weather.data.sys.sunset).time().hour();
46 double minute = QDateTime::fromSecsSinceEpoch(weather.data.sys.sunset).time().minute();
47 QString str = QString::number(hour) + ":" + QString::number(minute);
48 qDebug() << str;
49 ui->label_Sunset->setText("Sunset(utc): "+str);
50
51 hour = QDateTime::fromSecsSinceEpoch(weather.data.sys.sunrise).time().hour();
52 minute = QDateTime::fromSecsSinceEpoch(weather.data.sys.sunrise).time().minute();
53 str = QString::number(hour) + ":" + QString::number(minute);
54 qDebug() << str;
55 ui->label_Sunrise->setText("Sunrise(utc): "+str);
56}
Weather weather
Weather object.
Definition: mainwindow.h:38
void setUI()
Update the UI value from weather data.
Definition: mainwindow.cpp:30
Ui::MainWindow * ui
ui
Definition: mainwindow.h:36
MainWindow(QWidget *parent=nullptr)
Default Constructor.
Definition: mainwindow.cpp:10
void slotSearch()
Slot to search from a city name.
Definition: mainwindow.cpp:20
~MainWindow()
Default Destructor.
Definition: mainwindow.cpp:16
QString getTempUnit()
Return the current unit selected.
Definition: weather.cpp:16
int getFromCity(QString city)
Get data from a City Name.
Definition: weather.cpp:28
struct Weather::@0 data
Struct to match the JSON format.
MainWindow Header.