一个天气预报程序(QT5)2016年4月9日更新(34L附设置方案)

C、C++和Java语言
头像
YeLee
论坛版主
帖子: 26408
注册时间: 2008-08-13 8:48
系统: Fundu i64
来自: 东海硇州,一双管钥。
送出感谢: 25 次
接收感谢: 307 次
联系:

Re: 又一个天气预报

#31

帖子 YeLee » 2013-08-14 17:33

一年后,为了某conky,重写了后端,采用更方便的方式获取城市代码,使用者只需要命令行输入 省名 市名 县名 这种格式便可获取城市代码,不过,那个省市县三个字就没必要输入了,关于这个原因,实在不想写正则了。 :em20
◎当我站在道德的高度上俯视别人的时候,发现自己是多么渺小。
♥执着但不偏激,反对而不排斥,坚决捍卫矛盾体的存在方式。
★★★天气预报★★★
fcitx-yatable一个可以使用的码表输入法
[教程]几个实例攻克软件编译难关
Gentoo Development Guide
字体相关
头像
YeLee
论坛版主
帖子: 26408
注册时间: 2008-08-13 8:48
系统: Fundu i64
来自: 东海硇州,一双管钥。
送出感谢: 25 次
接收感谢: 307 次
联系:

Re: 一个天气预报程序(QT5)2016年4月4日更新

#32

帖子 YeLee » 2016-04-04 16:57

一转眼三年了,又过来更新一下。 :Haha
◎当我站在道德的高度上俯视别人的时候,发现自己是多么渺小。
♥执着但不偏激,反对而不排斥,坚决捍卫矛盾体的存在方式。
★★★天气预报★★★
fcitx-yatable一个可以使用的码表输入法
[教程]几个实例攻克软件编译难关
Gentoo Development Guide
字体相关
头像
YeLee
论坛版主
帖子: 26408
注册时间: 2008-08-13 8:48
系统: Fundu i64
来自: 东海硇州,一双管钥。
送出感谢: 25 次
接收感谢: 307 次
联系:

Re: 一个天气预报程序(QT5)2016年4月4日更新

#33

帖子 YeLee » 2016-04-07 18:00

回头看了一下,发现QLabel控件存在内存泄漏的问题,想了一下,还是算了,懒得fix了。 :Hehe
◎当我站在道德的高度上俯视别人的时候,发现自己是多么渺小。
♥执着但不偏激,反对而不排斥,坚决捍卫矛盾体的存在方式。
★★★天气预报★★★
fcitx-yatable一个可以使用的码表输入法
[教程]几个实例攻克软件编译难关
Gentoo Development Guide
字体相关
头像
YeLee
论坛版主
帖子: 26408
注册时间: 2008-08-13 8:48
系统: Fundu i64
来自: 东海硇州,一双管钥。
送出感谢: 25 次
接收感谢: 307 次
联系:

Re: 一个天气预报程序(QT5)2016年4月9日更新(34L附设置方案)

#34

帖子 YeLee » 2016-04-10 8:52

编译篇
先在坛子下载天气程序的源码包,我这里下的是2016年4月9日版:weather(2016-04-09).tar.xz

shell进入程序目录,把源码包解压出来:

代码: 全选

tar xvf weather\(2016-04-09\).tar.xz
我们先来编译一下配置程序weather_config:

代码: 全选

cd weather_config
qmake (这是用系统默认的qmake生成Makefile)
make (编译生成配置程序weather_config)
wget http://bulk.openweathermap.org/sample/city.list.json.gz (下载OpenWeatherMap的城市列表文件)
sh newCityList.sh city.list.json.gz (生成数据库文件,Ps.前提需安装SQLite3)
接下来编译前端程序weather:

代码: 全选

cd weather
/usr/lib/qt5/bin/qmake (这里必须使用Qt5的qmake,因为这部分代码仅Qt5下编译通过)
make (编译生成前端程序weather)
配置程序
程序编译完了,接下来是怎么把这程序「运行」起来的问题:
先新建一个文件夹,这里以/tmp/bin为例:

代码: 全选

cp weather_config /tmp/bin
cp weather_config.db /tmp/bin
cp weather /tmp/bin
把3个生成的文件拷贝到同一个目录下面。

OpenWeatherMap去申请一个免费的APPID,然后进入用户目录就能看到这个APPID了。
APPID.jpg
图中粉色框内的就是APPID
打开「weather_config」,填写对应的信息:
Linux下配置程序演示效果.jpg
Linux下配置程序演示效果
Linux下配置程序演示效果.jpg (37.53 KiB) 查看 728 次
Country部分为国家代码(ISO 3166 Country codes)
City部分为城市名称
City Information为对应的城市信息,包含城市代码和城市对应的经纬度,若有重复名称,可用下拉列表选择
Language为返回的天气信息的语言
Temperature为温度格式,支持华氏、摄氏和开氏三种格式
Update Frequency为更新频率(单位为分),即程序间隔多长时间会从服务器获取温度信息
AutoCloseWindow 默认情况下,若鼠标不在主窗口内程序会自动关闭主窗体(单位为秒)
APPID 为上文获取的OpenWeatherMap ID
填完后,按下Submit后,程序会在其目录下生成weather.ini文件并退出(这里没有任何提示)

最后,使用一台联网的计算机打开「weather」,并点击托盘菜单的「Show」即可查看到天气信息了。 :em03
Linux下查看天气信息.jpg
Linux下查看天气信息
◎当我站在道德的高度上俯视别人的时候,发现自己是多么渺小。
♥执着但不偏激,反对而不排斥,坚决捍卫矛盾体的存在方式。
★★★天气预报★★★
fcitx-yatable一个可以使用的码表输入法
[教程]几个实例攻克软件编译难关
Gentoo Development Guide
字体相关
头像
qy117121
论坛版主
帖子: 49936
注册时间: 2007-12-14 13:40
系统: Winbuntu
来自: 志虚国乌由市
送出感谢: 17 次
接收感谢: 332 次
联系:

Re: 一个天气预报程序(QT5)2016年4月9日更新(34L附设置方案)

#35

帖子 qy117121 » 2016-04-10 13:39

复杂,所以
我不用,我不用,我不用
因为很重要所以说三遍
渠月 · QY

本人只会灌水,不负责回答问题

无聊可以点一下→ http://u.nu/ubuntu
回复

回到 “C/C++/Java”