一个天气预报程序(QT5)2016年4月9日更新(34L附设置方案)
发表于 : 2012-05-12 22:43
趁着这几天有时间,抛弃了GTK,用友好的QT重写了一遍这程序。
并放弃之前weather.cn的API,采用OpenWeatherMap的API,由于需要APPID,使用者需到OpenWeatherMap申请APPID(这个是免费的),并添加到配置文件中。
为了体贴一下懒人的各种不如意,弄了个配置用的前端: 配置前端在Windows下测试通过,该部分代码同时支持QT4和QT5,编译前需到OpenWeatherMap下载城市列表,并使用附带的脚本「newCityList.sh」生成SQLite3数据库文件。生成后把同目录下的ini拷贝到主程序目录下即可。
2016年4月9日版,重画了weather_config的界面,这是在Win10下面的效果: 主程序目前仅支持QT5,并承诺永不支持QT4,别问为什么,因为不想为JSON多搭一个库进来。
支持托盘管理: 提供全面的温度监控: 以上代码在Qt 5.6.0下编译通过。
生产环境(CLANG 700.1.81、VSC 2015U2、GCC 5.3,需打开C++11支持) 2012-05-12 初始版本,一个简陋的GTK作品。
2013-08-14 重写了代码,去掉GTK前端,并采用json-c来解析。
2016-04-04 改用友好的QT5重写了程序,OS X、Windows和Linux三平台通用。
2016-04-09 修正了QLabel内存泄漏的问题,重画了配置前端weather_config的界面,采用信号槽机制,把weather里面的trayer、WeatherInfo和WinMan这三个大类独立出来。
最新项目地址:weather
并放弃之前weather.cn的API,采用OpenWeatherMap的API,由于需要APPID,使用者需到OpenWeatherMap申请APPID(这个是免费的),并添加到配置文件中。
为了体贴一下懒人的各种不如意,弄了个配置用的前端: 配置前端在Windows下测试通过,该部分代码同时支持QT4和QT5,编译前需到OpenWeatherMap下载城市列表,并使用附带的脚本「newCityList.sh」生成SQLite3数据库文件。生成后把同目录下的ini拷贝到主程序目录下即可。
2016年4月9日版,重画了weather_config的界面,这是在Win10下面的效果: 主程序目前仅支持QT5,并承诺永不支持QT4,别问为什么,因为不想为JSON多搭一个库进来。
支持托盘管理: 提供全面的温度监控: 以上代码在Qt 5.6.0下编译通过。
生产环境(CLANG 700.1.81、VSC 2015U2、GCC 5.3,需打开C++11支持) 2012-05-12 初始版本,一个简陋的GTK作品。
2013-08-14 重写了代码,去掉GTK前端,并采用json-c来解析。
2016-04-04 改用友好的QT5重写了程序,OS X、Windows和Linux三平台通用。
2016-04-09 修正了QLabel内存泄漏的问题,重画了配置前端weather_config的界面,采用信号槽机制,把weather里面的trayer、WeatherInfo和WinMan这三个大类独立出来。
最新项目地址:weather