Блокнот Jupyter HBox не отображается внутри функции - PullRequest
0 голосов
/ 02 апреля 2019

Эй, у меня есть ipynb, который показывает мне мои виджеты в коробке.Здесь все хорошо, и код работает хорошо.Но после нажатия клавиши функция on_button_clicked выполнит некоторые действия.Некоторые из этих вещей - это функция, которая перепечатывает мои кнопки и графические виджеты.Это точно такой же код, но виджеты не появляются.Я новичок в Python и Jynb, надеюсь, вы можете дать мне несколько советов.

Код для первого запуска загрузки:

pattern = '*.png' 
liste =fnmatch.filter(os.listdir(dir_path), pattern)
file = open(dir_path+liste[counter], "rb")
image = file.read()
abcd=widgets.Image(
    value=image,
    format='png',
) 

button_next = widgets.Button(description="next", layout=Layout(width='50%', 
height='80px'),button_style='primary')
button_next.on_click(on_button_clicked_next)

button_previous = widgets.Button(description="previous", 
layout=Layout(width='50%', height='80px'),button_style='primary')
button_previous.on_click(on_button_clicked_previous)

button_wrong = widgets.Button(description="wrong", layout=Layout(flex='1 1 
20%', height='80px'), button_style='danger')
button_wrong.on_click(on_button_clicked_wrong)

button_correct = widgets.Button(description="correct", layout=Layout(flex='1 
1 20%', height='80px'), button_style='success')
button_correct.on_click(on_button_clicked_correct)

button_unkown = widgets.Button(description="Unkown suggestion")
button_unkown.on_click(on_button_clicked_unkown)

items_upside = [ 
     button_previous,
     widgets.Image(value=image,format='png', layout=Layout(flex='1 1 60%')),
     button_next,
 ]

items_downside = [
     button_correct,
     button_wrong
 ]

 box_layout = Layout(display='center',align_items='center', width='100%')
 box_upside = Box(children=items_upside, layout=box_layout)
 box_downside = Box(children=items_downside, layout=box_layout)
 VBox([box_upside, box_downside])

Ключ:

def on_button_clicked_previous(self):
  global dir_path
  clear_output()
  global counter
  counter=counter-1
  path = (os.listdir(dir_path)[counter])
  execute()

Exectue():

Same Code from the upside (copy&paste) to rebuild the UI

И вот как это выглядит после первого запуска без нажатия кнопки и как я должен выглядеть после действия кнопки, но только с другим изображением.

enter image description here

...