Kivy: использование индикатора выполнения для моделирования процесса и последующего выполнения другого кода.Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Kivy: использование индикатора выполнения для моделирования процесса и последующего выполнения другого кода.

Сообщение Anonymous »

Я пытаюсь использовать индикатор выполнения в Kivy для имитации завершения внешнего процесса, в конце которого должна запуститься функция для получения каких-либо результатов.
У меня есть просмотрел все сообщения здесь, в которых обсуждается индикатор выполнения и запланированные события Clock. Я опробовал эти методы, но все равно не могу добиться желаемого эффекта.
В моем основном классе виджетов определены следующие методы:

Код: Выделить всё

def update_progbar(self):
print(self.progbar.value)
self.progbar.value += 10.0

Код: Выделить всё

def start_progbar_update(self):
print("start progbar update")
self.update_progbar_event = Clock.schedule_interval(lambda dt: self.update_progbar(),1)

Код: Выделить всё

def stop_progbar_update(self):
print("stop progbar update")
self.update_progbar_event.cancel()

Код: Выделить всё

def run_program(self):
if self.progbar.value < 100.0:
self.start_progbar_update()
elif self.progbar.value >= 100.0:
self.stop_progbar_update()

#wait for progress bar to fill up, then execute code below
results = some_function(args)
Итак, эффект состоит в том, чтобы показать пользователю смоделированный процесс, который занимает некоторое время, а затем дает некоторые результаты.
Начало прогресса Обновление бара работает. Я вижу, что виджет индикатора выполнения заполняется на 10% каждую секунду. Но после того, как он достигнет 100%, он продолжает работать, продолжает печатать «100.0» и никогда не завершает работу.
Кажется, я не могу получить условие, если progbar.value >= 100.0: stop_progbar_update () для работы. Событие «Интервал расписания часов» никогда не отменяется.
Код ниже никогда не сможет выполниться.

Подробнее здесь: https://stackoverflow.com/questions/792 ... other-code
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»