python: выполнение подсчета анимации - PullRequest
0 голосов
/ 06 мая 2019

новичок в программировании, и я не могу подсчитать, сколько раз анимация была выполнена, я хотел иметь возможность закрыть ее после определенного числа раз, когда анимация была выполнена / завершена.

класс MainApp (приложение): count = 0

def build(self):
    return Builder.load_file("kv_ellipse.kv")

def on_start(self):
    print("start")
    Clock.schedule_interval(self.animate_the_widget, 1.1)

def animate_the_widget(self, widget, *args):

    self.count + 1
    print("animate")
    widget = self.root.ids.the_blinking_button
    anim = Animation(animated_color=(0, 0, .5, 0), blink_size=200)
    anim.bind(on_complete = self.counter)
    anim.start(widget)

def reset(self, *args):
    print("reset")
    widget = args[1]
    widget.animated_color = (.1, .4, .4, 1)
    widget.blink_size = 5

def counter(self, *args):
    self.reset(self.count + 1)
    print('counter', self.count)

MainApp (). Run ()

1 Ответ

0 голосов
/ 06 мая 2019

Сначала установите ваше расписание часов в качестве атрибута класса, чтобы позже вы могли отменить его планирование.

self.clock = Clock.schedule_interval(self.animate_the_widget, 1.1)

Затем, когда вы увеличиваете счетчик в python, делайте так:

self.count += 1

Затем вы можете проверить этот счетчик и распланировать его.

if self.count > 9:
    Clock.unschedule(self.clock)
    # and / or do whatever you need here. 
    #If it's just to stop the app, exit() is enough.
    exit()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...