为什么从预测类传递的值在Controls类中显示为0。我做错了什么?

时间:2014-10-16 20:13:28

标签: kivy

类预测(BoxLayout):     日出= NumericProperty()

def weather_retrieved1(self, request, data):
    data = json.loads(data.decode()) if not isinstance(data, dict) else data
    #  some code here      
    self.sunrise=(data['sys']['sunrise'])

类控件(BoxLayout):
    日出= NumericProperty()
    预测=预报()

def __init__(self, *args, **kwargs):
    super(Controls, self).__init__(*args, **kwargs)

    self.forecast.bind(sunrise=self.forecast.weather_retrieved1)
   # for testing 
    Clock.schedule_interval(self.test, 1)

def test(self, *args):
    print self.sunrise # i get as an output 0  

1 个答案:

答案 0 :(得分:0)

self.bind(sunrise=self.controls.sunrise)

这没有意义 - self.controls甚至没有日出属性。

它也没有意义,因为你必须传递函数来绑定,而不是方法。如果您解决了上述问题,我可以解释更多,并且可以解决其余问题。