为什么我无法在此计数器上添加+1?

时间:2014-03-30 04:00:30

标签: python

我知道它可能是一个非常愚蠢的错误,但我试图通过调用示例在init方法中向计数器添加+1。我注意到柜台保持在0,但我不确定我在这里做错了什么。

class newlabel(Label):
    def __init__(self, **kwargs):
        super(newlabel, self).__init__(**kwargs)
        self.font_name='PressStart2P.ttf'
        self.markup = True
        self.counter=0
        self.words = self.text.split(' ')

    def example(self, *args):
        self.counter += 1
        words = self.text.split(' ')
        if len(self.words) >= self.counter:
            self.text = hello[self.counter]
        anim = Animation(size_hint=(1, .27), duration=1.7)
        anim.start(view)

newmessage = newlabel(text = "this is a test hello")
Clock.schedule_interval(newmessage.example, 3)

2 个答案:

答案 0 :(得分:1)

好的问题解决了。问题是我有一个副本。

self.words = self.text.split(' ')

正确的一个在 init 中,我不小心也在示例方法中使用了它,导致它在每次调用示例时分割单词。

答案 1 :(得分:0)

问题是

newmessage.example

实际调用函数必须

Clock.schedule_interval(newmessage.example(), 3)