【发布时间】:2017-04-21 23:21:26
【问题描述】:
我有一个在画布上带有地图的程序。当我在地图上滚动时,它会在屏幕上显示鼠标指针所在位置的经度和纬度,并实时更新。同样,当我移动鼠标时,它会在屏幕上显示我所在位置的日出、日落、月出、月落和月相。一切正常,除了 ehem 显然不会实时更新。
这是每次移动鼠标时运行的代码中特定于 ephem 的部分。
self.maploc.lat, self.maploc.lon = str(py), str(px)
sr = str(self.maploc.next_rising(ephem.Sun()
ss = str(self.maploc.next_setting(ephem.Sun()))
snr = sr.split(' ')
sns = ss.split(' ')
self.maploc.lat, self.maploc.lon = str(py), str(px)
mr = str(self.maploc.next_rising(ephem.Moon()))
ms = str(self.maploc.next_setting(ephem.Moon()))
mn = ephem.Moon()
mn.compute(self.maploc)
mnr = mr.split(' ')
mns = ms.split(' ')
我认为运行 mn.compute(self.maploc) 会完全更新地图坐标,但事实并非如此。昨天承认,当我开始修改这个想法时,我注意到它似乎也没有根据日出时间进行实时更新。
我如何获得实时更新,或者我可以使用 ehem。
如果我运行该程序,月相将始终保持不变,直到我关闭该程序并重新启动该程序。
【问题讨论】:
标签: python-3.x pyephem