У меня та же проблема, что и у TheInterestedOne , спросили .Мне нужно создать две кнопки для пользователя и предложить пользователю нажать одну из двух кнопок в цикле, чтобы следующая итерация цикла происходила только после выбора пользователя.Я прочитал этот источник , но не могу заставить его работать на кнопку.Я не понимаю, как меняется атрибут виджета при использовании кнопки.
from functools import wraps
def yield_for_change(widget, attribute):
def f(iterator):
@wraps(iterator)
def inner():
i = iterator()
def next_i(change):
try:
i.send(change.new)
except StopIteration as e:
widget.unobserve(next_i, attribute)
widget.observe(next_i, attribute) //**button.on_click(on_button_clicked)
may be?**
# start the generator
next(i)
return inner
return f
from ipywidgets import Button
button=Button()
def on_button_clicked():
print("Button clicked.")
@yield_for_change(button, 'value')
def f():
for i in range(10):
print('did work %s'%i)
x = yield
button.on_click(on_button_clicked)
Заранее спасибо.