From ab85298c34be5439e309af2ac9f810a7c6f64eb8 Mon Sep 17 00:00:00 2001 From: birkeh Date: Fri, 31 Jan 2020 11:07:10 +0100 Subject: [PATCH] initial commit --- cmainwindow.cpp | 303 ++++++++++++++++++++++++++++++++++++++++------ cmainwindow.h | 43 ++++++- cmainwindow.ui | 96 ++++++++++++++- common.cpp | 0 common.h | 4 + csplashscreen.cpp | 68 +++++++++++ csplashscreen.h | 78 ++++++++++++ images/splash.png | Bin 0 -> 1065 bytes main.cpp | 38 +++++- sundata.qrc | 5 + weatherData.pro | 39 +++++- weatherdata.qrc | 5 + 12 files changed, 634 insertions(+), 45 deletions(-) create mode 100644 common.cpp create mode 100644 common.h create mode 100644 csplashscreen.cpp create mode 100644 csplashscreen.h create mode 100644 images/splash.png create mode 100644 sundata.qrc create mode 100644 weatherdata.qrc diff --git a/cmainwindow.cpp b/cmainwindow.cpp index f06e1a5..45b1574 100644 --- a/cmainwindow.cpp +++ b/cmainwindow.cpp @@ -4,59 +4,107 @@ #include "cmeteostat.h" #include "cmeteodata.h" -#include +#include +#include + +#include #include -cMainWindow::cMainWindow(QWidget *parent) - : QMainWindow(parent) - , ui(new Ui::cMainWindow) +cMainWindow::cMainWindow(cSplashScreen* lpSplashScreen, QWidget *parent) : + QMainWindow(parent), + ui(new Ui::cMainWindow), + m_lpSplashScreen(lpSplashScreen) { - ui->setupUi(this); + initUI(); + createActions(); - cMeteoStat meteoStat("Q1H5Feca"); - cMeteoDataList list = meteoStat.getHistoricalData(QDate(2020, 1, 16), QDate(2020, 1, 16), 11035); - QClipboard* clipboard = QGuiApplication::clipboard(); - QString text = ""; + m_lpSeriesTemperature = new QLineSeries(); + m_lpSeriesPressure = new QLineSeries(); + m_lpSeriesHumidity = new QLineSeries(); - for(int x = 0;x < list.count();x++) - { - cMeteoData* lpData = list[x]; + m_lpChart = new QChart(); - text.append(lpData->dateTime().toString("yyyy-MM-dd hh:mm:ss")); + m_lpAxisX = new QDateTimeAxis; + m_lpAxisX->setTickCount(10); + m_lpAxisX->setFormat("dd.MM.yyyy hh:mm"); + m_lpAxisX->setTitleText("Date"); + m_lpChart->addAxis(m_lpAxisX, Qt::AlignBottom); - text.append("\t"); - text.append(lpData->dateTimeLocal().toString("yyyy-MM-dd hh:mm:ss")); + m_lpChart->addSeries(m_lpSeriesTemperature); + m_lpAxisYTemperature = new QValueAxis; + m_lpAxisYTemperature->setLabelFormat("%i"); + m_lpAxisYTemperature->setTitleText("Temperature"); + m_lpChart->addAxis(m_lpAxisYTemperature, Qt::AlignLeft); + m_lpSeriesTemperature->attachAxis(m_lpAxisYTemperature); + m_lpSeriesTemperature->attachAxis(m_lpAxisX); - text.append("\t"); - text.append(QString::number(lpData->temperature())); + m_lpChart->addSeries(m_lpSeriesPressure); + m_lpAxisYPressure = new QValueAxis; + m_lpAxisYPressure->setLabelFormat("%i"); + m_lpAxisYPressure->setTitleText("Pressure"); + m_lpChart->addAxis(m_lpAxisYPressure, Qt::AlignLeft); + m_lpSeriesPressure->attachAxis(m_lpAxisYPressure); + m_lpSeriesPressure->attachAxis(m_lpAxisX); - text.append("\t"); - text.append(QString::number(lpData->dewpoint())); + m_lpChart->addSeries(m_lpSeriesHumidity); + m_lpAxisYHumidity = new QValueAxis; + m_lpAxisYHumidity->setLabelFormat("%i"); + m_lpAxisYHumidity->setTitleText("Humidity"); + m_lpChart->addAxis(m_lpAxisYHumidity, Qt::AlignLeft); + m_lpSeriesHumidity->attachAxis(m_lpAxisYHumidity); + m_lpSeriesHumidity->attachAxis(m_lpAxisX); - text.append("\t"); - text.append(QString::number(lpData->humidity())); + m_lpChart->legend()->show(); + m_lpChart->setTitle("Weather"); - text.append("\t"); - text.append(QString::number(lpData->windspeed())); + ui->m_lpChart->setChart(m_lpChart); + ui->m_lpChart->setRenderHint(QPainter::Antialiasing); - text.append("\t"); - text.append(QString::number(lpData->peakgust())); - text.append("\t"); - text.append(QString::number(lpData->winddirection())); +// cMeteoStat meteoStat("Q1H5Feca"); +// cMeteoDataList list = meteoStat.getHistoricalData(QDate(2020, 1, 16), QDate(2020, 1, 16), 11035); +// QClipboard* clipboard = QGuiApplication::clipboard(); +// QString text = ""; - text.append("\t"); - text.append(QString::number(lpData->pressure())); +// for(int x = 0;x < list.count();x++) +// { +// cMeteoData* lpData = list[x]; - text.append("\t"); - text.append(QString::number(lpData->condition())); +// text.append(lpData->dateTime().toString("yyyy-MM-dd hh:mm:ss")); - text.append("\n"); - } +// text.append("\t"); +// text.append(lpData->dateTimeLocal().toString("yyyy-MM-dd hh:mm:ss")); - clipboard->setText(text); +// text.append("\t"); +// text.append(QString::number(lpData->temperature())); + +// text.append("\t"); +// text.append(QString::number(lpData->dewpoint())); + +// text.append("\t"); +// text.append(QString::number(lpData->humidity())); + +// text.append("\t"); +// text.append(QString::number(lpData->windspeed())); + +// text.append("\t"); +// text.append(QString::number(lpData->peakgust())); + +// text.append("\t"); +// text.append(QString::number(lpData->winddirection())); + +// text.append("\t"); +// text.append(QString::number(lpData->pressure())); + +// text.append("\t"); +// text.append(QString::number(lpData->condition())); + +// text.append("\n"); +// } + +// clipboard->setText(text); } cMainWindow::~cMainWindow() @@ -64,3 +112,190 @@ cMainWindow::~cMainWindow() delete ui; } +void cMainWindow::closeEvent(QCloseEvent *event) +{ + QSettings settings; + settings.setValue("main/width", QVariant::fromValue(size().width())); + settings.setValue("main/height", QVariant::fromValue(size().height())); + settings.setValue("main/x", QVariant::fromValue(x())); + settings.setValue("main/y", QVariant::fromValue(y())); + if(this->isMaximized()) + settings.setValue("main/maximized", QVariant::fromValue(true)); + else + settings.setValue("main/maximized", QVariant::fromValue(false)); + + event->accept(); +} + +void cMainWindow::initUI() +{ + QSettings settings; + + ui->setupUi(this); + +// m_lpFileListModel = new QStandardItemModel; +// ui->m_lpFileList->setModel(m_lpFileListModel); + + if(!settings.value("main/maximized").toBool()) + { + qint32 iX = settings.value("main/x", QVariant::fromValue(-1)).toInt(); + qint32 iY = settings.value("main/y", QVariant::fromValue(-1)).toInt(); + qint32 iWidth = settings.value("main/width", QVariant::fromValue(-1)).toInt(); + qint32 iHeight = settings.value("main/height", QVariant::fromValue(-1)).toInt(); + + if(iWidth != -1 && iHeight != -1) + resize(iWidth, iHeight); + if(iX != -1 && iY != -1) + move(iX, iY); + } + +// QStringList headerLabels = QStringList() << tr("icon") << tr("path") << tr("file") << tr("size") << tr("date") << tr("width") << tr("height") << (""); +// m_lpFileListModel->setHorizontalHeaderLabels(headerLabels); + + ui->m_lpDateFrom->setDate(QDate::currentDate().addDays(-1)); + ui->m_lpDateTo->setDate(QDate::currentDate().addDays(-1)); + + m_lpListModel = new QStandardItemModel; + ui->m_lpList->setModel(m_lpListModel); + + QStringList headerLabels = QStringList() << tr("Date") << tr("Temperature") << tr("Pressure") << tr("Humidity") << tr("Windspeed") << tr("Winddirection"); + m_lpListModel->setHorizontalHeaderLabels(headerLabels); +} + +void cMainWindow::createActions() +{ +// setToolButtonStyle(Qt::ToolButtonFollowStyle); + +// createFileActions(); +// createContextActions(); + +// connect(ui->m_lpFileList, &cTreeView::deleteEntrys, this, &cMainWindow::onDeleteEntrys); +// connect(ui->m_lpThumbnailSize, &QSlider::valueChanged, this, &cMainWindow::onThumbnailSize); + + connect(ui->m_lpGo, &QPushButton::clicked, this, &cMainWindow::onGo); +} + +void cMainWindow::createContextActions() +{ +} + +void cMainWindow::createFileActions() +{ +// m_lpFileToolBar = addToolBar("file"); + +// const QIcon openIcon = QIcon::fromTheme("document-open"); +// m_lpOpenFileAction = m_lpFileToolBar->addAction(openIcon, tr("&Open..."), this, &cMainWindow::onAddFile); +// m_lpOpenFileAction->setShortcut(QKeySequence::Open); + +// const QIcon openDirectoryIcon = QIcon::fromTheme("folder"); +// m_lpOpenDirectoryAction = m_lpFileToolBar->addAction(openIcon, tr("&Open Folder..."), this, &cMainWindow::onAddFolder); + + +// m_lpListToolBar = addToolBar("list"); + +// const QIcon deleteIcon = QIcon::fromTheme("edit-delete"); +// m_lpDeleteAction = m_lpListToolBar->addAction(deleteIcon, tr("&Delete"), this, &cMainWindow::onDeleteEntrys); +// m_lpDeleteAction->setShortcut(QKeySequence::Delete); + +// const QIcon clearIcon = QIcon::fromTheme("edit-clear"); +// m_lpClearAction = m_lpListToolBar->addAction(clearIcon, tr("&Clear"), this, &cMainWindow::onClearList); + + +// m_lpActionToolBar = addToolBar("action"); + +// const QIcon convertIcon = QIcon::fromTheme("system-run"); +// m_lpConvertAction = m_lpActionToolBar->addAction(convertIcon, tr("&Convert"), this, &cMainWindow::onConvert); +// m_lpConvertAction->setShortcut(QKeySequence::Delete); + +// const QIcon stopIcon = QIcon::fromTheme("process-stop"); +// m_lpStopAction = m_lpActionToolBar->addAction(stopIcon, tr("&Stop"), this, &cMainWindow::onStop); +} + +void cMainWindow::onGo() +{ + m_lpListModel->clear(); + + QStringList headerLabels = QStringList() << tr("Date") << tr("Temperature") << tr("Pressure") << tr("Humidity") << tr("Windspeed") << tr("Winddirection"); + m_lpListModel->setHorizontalHeaderLabels(headerLabels); + + m_lpSeriesTemperature->clear(); + m_lpSeriesPressure->clear(); + m_lpSeriesHumidity->clear(); + + cMeteoStat meteoStat("Q1H5Feca"); + cMeteoDataList list = meteoStat.getHistoricalData(ui->m_lpDateFrom->date(), ui->m_lpDateTo->date(), 11035); + + if(!list.count()) + return; + + QDateTime minDate = list[0]->dateTime(); + QDateTime maxDate = list[0]->dateTime(); + qreal minTemperature = list[0]->temperature(); + qreal maxTemperature = list[0]->temperature(); + qreal minPressure = list[0]->pressure(); + qreal maxPressure = list[0]->pressure(); + qreal minHumidity = list[0]->humidity(); + qreal maxHumidity = list[0]->humidity(); + + QStandardItem* itemList[6]; + + for(int x = 0;x < list.count();x++) + { + cMeteoData* lpData = list[x]; + QList itemList; + + itemList << new QStandardItem(lpData->dateTime().toString("yyyy-MM-ss hh:mm")) + << new QStandardItem(QString::number(lpData->temperature()) + " °C") + << new QStandardItem(QString::number(lpData->pressure()) + " hPa") + << new QStandardItem(QString::number(lpData->humidity()) + " %") + << new QStandardItem(QString::number(lpData->windspeed()) + " km/h") + << new QStandardItem(QString::number(lpData->winddirection()) + " °"); + + itemList[1]->setTextAlignment(Qt::AlignRight); + itemList[2]->setTextAlignment(Qt::AlignRight); + itemList[3]->setTextAlignment(Qt::AlignRight); + itemList[4]->setTextAlignment(Qt::AlignRight); + + m_lpListModel->appendRow(itemList); + + m_lpSeriesTemperature->append(lpData->dateTime().toMSecsSinceEpoch(), lpData->temperature()); + m_lpSeriesPressure->append(lpData->dateTime().toMSecsSinceEpoch(), lpData->pressure()); + m_lpSeriesHumidity->append(lpData->dateTime().toMSecsSinceEpoch(), lpData->humidity()); + + if(lpData->dateTime() < minDate) + minDate = lpData->dateTime(); + + if(lpData->dateTime() > maxDate) + maxDate = lpData->dateTime(); + + if(lpData->temperature() < minTemperature) + minTemperature = lpData->temperature(); + + if(lpData->temperature() > maxTemperature) + maxTemperature = lpData->temperature(); + + if(lpData->pressure() < minPressure) + minPressure = lpData->pressure(); + + if(lpData->pressure() > maxPressure) + maxPressure = lpData->pressure(); + + if(lpData->humidity() < minHumidity) + minHumidity = lpData->humidity(); + + if(lpData->humidity() > maxHumidity) + maxHumidity = lpData->humidity(); + } + + m_lpAxisX->setRange(minDate, maxDate); + m_lpAxisYTemperature->setRange(minTemperature, maxTemperature); + m_lpAxisYPressure->setRange(minPressure, maxPressure); + m_lpAxisYHumidity->setRange(minHumidity, maxHumidity); + + ui->m_lpList->resizeColumnToContents(0); + ui->m_lpList->resizeColumnToContents(1); + ui->m_lpList->resizeColumnToContents(2); + ui->m_lpList->resizeColumnToContents(3); + ui->m_lpList->resizeColumnToContents(4); + ui->m_lpList->resizeColumnToContents(5); +} diff --git a/cmainwindow.h b/cmainwindow.h index 65f0642..8ba19a0 100644 --- a/cmainwindow.h +++ b/cmainwindow.h @@ -1,21 +1,60 @@ #ifndef CMAINWINDOW_H #define CMAINWINDOW_H + +#include "csplashscreen.h" +#include "common.h" + #include +#include + +#include +#include +#include +#include + + QT_BEGIN_NAMESPACE namespace Ui { class cMainWindow; } QT_END_NAMESPACE + +QT_CHARTS_USE_NAMESPACE + + class cMainWindow : public QMainWindow { Q_OBJECT public: - cMainWindow(QWidget *parent = nullptr); + cMainWindow(cSplashScreen* lpSplashScreen, QWidget *parent = nullptr); ~cMainWindow(); private: - Ui::cMainWindow *ui; + Ui::cMainWindow* ui; + cSplashScreen* m_lpSplashScreen; + + QStandardItemModel* m_lpListModel; + + QChart* m_lpChart; + QLineSeries* m_lpSeriesTemperature; + QLineSeries* m_lpSeriesPressure; + QLineSeries* m_lpSeriesHumidity; + QDateTimeAxis* m_lpAxisX; + QValueAxis* m_lpAxisYTemperature; + QValueAxis* m_lpAxisYPressure; + QValueAxis* m_lpAxisYHumidity; + + void initUI(); + void createActions(); + void createFileActions(); + void createContextActions(); + +protected: + void closeEvent(QCloseEvent* event); + +private slots: + void onGo(); }; #endif // CMAINWINDOW_H diff --git a/cmainwindow.ui b/cmainwindow.ui index 7dddbe4..8bdc26d 100644 --- a/cmainwindow.ui +++ b/cmainwindow.ui @@ -6,17 +6,103 @@ 0 0 - 800 - 600 + 1008 + 700 - cMainWindow + - - + + + + + + + + + + From: + + + + + + + + + + To: + + + + + + + + + + Location: + + + + + + + + + + go + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + Qt::Vertical + + + + + + + + + + + + + 0 + 0 + 1008 + 22 + + + + + + QChartView + QGraphicsView +
QtCharts/QChartView
+
+
diff --git a/common.cpp b/common.cpp new file mode 100644 index 0000000..e69de29 diff --git a/common.h b/common.h new file mode 100644 index 0000000..2a816d6 --- /dev/null +++ b/common.h @@ -0,0 +1,4 @@ +#ifndef COMMON_H +#define COMMON_H + +#endif // COMMON_H diff --git a/csplashscreen.cpp b/csplashscreen.cpp new file mode 100644 index 0000000..6f0a358 --- /dev/null +++ b/csplashscreen.cpp @@ -0,0 +1,68 @@ +/*! + \file csplashscreen.cpp + +*/ + +#include "csplashscreen.h" +#include "common.h" + +#include + + +cSplashScreen::cSplashScreen(const QPixmap& pixmap, QFont& font) : + QSplashScreen(pixmap), + m_iMax(100), + m_iProgress(0) +{ + setFont(font); + m_textDocument.setDefaultFont(font); +} + +void cSplashScreen::setMax(qint32 max) +{ + m_iMax = max; +} + +void cSplashScreen::drawContents(QPainter *painter) +{ + painter->translate(m_rect.topLeft()); + m_textDocument.setHtml(m_szMessage); + m_textDocument.drawContents(painter); + + QStyleOptionProgressBar pbstyle; + pbstyle.initFrom(this); + pbstyle.state = QStyle::State_Enabled; + pbstyle.textVisible = false; + pbstyle.minimum = 0; + pbstyle.maximum = m_iMax; + pbstyle.progress = m_iProgress; + pbstyle.invertedAppearance = false; + pbstyle.rect = QRect(0, 330, 390, 10); // Where is it. + + // Draw it... + style()->drawControl(QStyle::CE_ProgressBar, &pbstyle, painter, this); +} + +void cSplashScreen::showStatusMessage(const QString& message) +{ + m_szMessage = message; + showMessage(m_szMessage); +} + +void cSplashScreen::addStatusMessage(const QString& message) +{ + m_szMessage.append(message); + showMessage(m_szMessage); +} + +void cSplashScreen::setMessageRect(QRect rect) +{ + m_rect = rect; + m_textDocument.setTextWidth(rect.width()); +} + +void cSplashScreen::setProgress(int value) +{ + m_iProgress = value; + update(); +} diff --git a/csplashscreen.h b/csplashscreen.h new file mode 100644 index 0000000..0ebe29b --- /dev/null +++ b/csplashscreen.h @@ -0,0 +1,78 @@ +/*! + \file csplashscreen.h + +*/ + +#ifndef CSPLASHSCREEN_H +#define CSPLASHSCREEN_H + + +#include +#include +#include + + +/*! + \brief + + \class cSplashScreen csplashscreen.h "csplashscreen.h" +*/ +class cSplashScreen : public QSplashScreen +{ +public: + cSplashScreen(const QPixmap& pixmap, QFont &font); + + /*! + \brief + + \fn drawContents + \param painter + */ + virtual void drawContents(QPainter *painter); + /*! + \brief + + \fn showStatusMessage + \param message + */ + void showStatusMessage(const QString &message); + /*! + \brief + + \fn addStatusMessage + \param message + */ + void addStatusMessage(const QString &message); + /*! + \brief + + \fn setMessageRect + \param rect + */ + void setMessageRect(QRect rect); + + /*! + \brief + + \fn setMax + \param max + */ + void setMax(qint32 max); + +private: + QTextDocument m_textDocument; /*!< TODO: describe */ + QString m_szMessage; /*!< TODO: describe */ + QRect m_rect; /*!< TODO: describe */ + qint32 m_iMax; /*!< TODO: describe */ + qint32 m_iProgress; /*!< TODO: describe */ +public slots: + /*! + \brief + + \fn setProgress + \param value + */ + void setProgress(int value); +}; + +#endif // CSPLASHSCREEN_H diff --git a/images/splash.png b/images/splash.png new file mode 100644 index 0000000000000000000000000000000000000000..5329d636db187cbc20d7e46ed4d57277b18c2f67 GIT binary patch literal 1065 zcmeAS@N?(olHy`uVBq!ia0y~yV0-|?!5mCLk-Qfkl0b^Hz$3Dlfq`2Xgc%uT&5-~K zvX^-Jy0SlF731X)_+B$l6(}T|84^+AoS&PUnpXnkGB7w7r6!i7rYMwWmSiZnd-?{X z=%unVFfh;eba4!+xb^mmBQFC3#}R`A`=1|XQ(W6(d(D%pq1ug!p_%Q#0!AJwAZ?Jr zfS`ebU_OLKD8i!{tO%$Hhhi)ylCPLjxAI7hdJGy< +#include +#include +#include + +#include "csplashscreen.h" + + int main(int argc, char *argv[]) { QApplication a(argc, argv); - cMainWindow w; - w.show(); + + a.setApplicationVersion(APP_VERSION); + a.setApplicationDisplayName("weatherData"); + a.setOrganizationName("WIN-DESIGN"); + a.setOrganizationDomain("windesign.at"); + a.setApplicationName("weatherData"); + + QSettings settings; + + QPixmap pixmap(":/images/splash.png"); + QFont splashFont; + cSplashScreen* lpSplash = new cSplashScreen(pixmap, splashFont); + + lpSplash->show(); + a.processEvents(); + + lpSplash->showStatusMessage(QObject::tr("
initializing...")); + + cMainWindow w(lpSplash); + + + if(settings.value("main/maximized").toBool()) + w.showMaximized(); + else + w.show(); + + lpSplash->finish(&w); + delete lpSplash; + return a.exec(); } diff --git a/sundata.qrc b/sundata.qrc new file mode 100644 index 0000000..4875233 --- /dev/null +++ b/sundata.qrc @@ -0,0 +1,5 @@ + + + ../../../../../dev/Qt/Examples/Qt-5.14.0/charts/datetimeaxis/sun_spots.txt + + diff --git a/weatherData.pro b/weatherData.pro index 616f1a6..5093966 100644 --- a/weatherData.pro +++ b/weatherData.pro @@ -1,14 +1,42 @@ -QT += core gui network sql +VERSION = 0.0.1.0 +QMAKE_TARGET_COMPANY = WIN-DESIGN +QMAKE_TARGET_PRODUCT = weatherData +QMAKE_TARGET_DESCRIPTION = weatherData +QMAKE_TARGET_COPYRIGHT = (c) 2020 WIN-DESIGN + +QT += core gui network sql charts greaterThan(QT_MAJOR_VERSION, 4): QT += widgets CONFIG += c++11 +win32-msvc* { + contains(QT_ARCH, i386) { + message("msvc 32-bit") + } else { + message("msvc 64-bit") + } +} + +win32-g++ { + message("mingw") +# INCLUDEPATH += C:\dev\3rdParty\exiv2\include C:\dev\3rdParty\libraw C:\dev\3rdParty\libjpeg\include C:\dev\3rdParty\opencv\include dng +# LIBS += -LC:\dev\3rdParty\exiv2\lib -lexiv2.dll -LC:\dev\3rdParty\libraw\lib -LC:\dev\3rdParty\opencv\x64\mingw\lib -lraw -lws2_32 -lz -lopencv_core412.dll -lopencv_imgproc412.dll +} + +unix { + message("*nix") +# LIBS += -lraw -lexiv2 +} + +#QMAKE_CXXFLAGS += -DLIBRAW_NODLL -DLIBRAW_NOTHREADS + # The following define makes your compiler emit warnings if you use # any Qt feature that has been marked deprecated (the exact warnings # depend on your compiler). Please consult the documentation of the # deprecated API in order to know how to port your code away from it. DEFINES += QT_DEPRECATED_WARNINGS +DEFINES += APP_VERSION=\\\"$$VERSION\\\" # You can also make your code fail to compile if it uses deprecated APIs. # In order to do so, uncomment the following line. @@ -18,13 +46,17 @@ DEFINES += QT_DEPRECATED_WARNINGS SOURCES += \ cmeteodata.cpp \ cmeteostat.cpp \ + common.cpp \ + csplashscreen.cpp \ main.cpp \ cmainwindow.cpp HEADERS += \ cmainwindow.h \ cmeteodata.h \ - cmeteostat.h + cmeteostat.h \ + common.h \ + csplashscreen.h FORMS += \ cmainwindow.ui @@ -36,3 +68,6 @@ TRANSLATIONS += \ qnx: target.path = /tmp/$${TARGET}/bin else: unix:!android: target.path = /opt/$${TARGET}/bin !isEmpty(target.path): INSTALLS += target + +RESOURCES += \ + weatherdata.qrc diff --git a/weatherdata.qrc b/weatherdata.qrc new file mode 100644 index 0000000..00d0cc6 --- /dev/null +++ b/weatherdata.qrc @@ -0,0 +1,5 @@ + + + images/splash.png + +