Skip to content
/ qloudy Public

Qloudy is a Qt based gui weather application which uses the openweathermap API.

License

Notifications You must be signed in to change notification settings

0smr/qloudy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Qloudy

version tag license BCH donate

Qloudy is a Qt based gui weather application which uses the open weather map free API.


Qloudy A free openweather-based GUI app.

Warning

  • You may need to set a custom scale factor on the environment since this app uses pixels for component size. (e.g., QT_SCALE_FACTOR=2 ./qloudy)
  • This app might be bit buggy as it isn't yet in a stable state.

Building from source

Dependencies

Qt >= 5.15.2, GCC >= 8.0, qmake >= 3.1, C++ >= 17.

sudo apt install g++ build-essential qt5-default qttools5-dev qttools5-dev-tools qtdeclarative5-dev*

Clone repository

git clone --recursive https://github.com/SMR76/qloudy.git

‌Build

cd qloudy
mkdir build
cd build
qmake CONFIG+=release ../qloudy/qloudy/
make

Scripts

Data collector

Weather conditions can find on weather conditions-page.

Code The JavaScript code below will collect this data and save it in a json variable.
var json = {};
var tables = [...document.getElementsByTagName('table')];
tables.forEach((table, idx) => {
	let rows = table.getElementsByTagName('tbody')[0]?.children;
	if(!rows || idx == 0) return; // skip icon table
	rows = [...rows];
	rows.forEach(row => {
		const id = Number(row.children[0].innerHTML.trim());
		const main = row.children[1].innerHTML.trim();
		const desc = row.children[2].innerHTML.trim();
		if(id && main) { json[main] ??= {}; json[main][id] = desc; }
	});
})

TO-DO

  • Add tooltip.
  • Add more weather condition effects.
  • Add data chart.
  • Add preview images to README.
  • Add contribution note.
  • Fix scale factor.

Dependencies

  • Qt (LGPLV3) Core & GUI

Attribution