2017-03-10 4 views
0

Je voudrais faire un module interactif avec ipywidgets. Jusqu'ici tout va bien mais je suis coincé. Je veux cacher la visibilité d'un certain objet ipywidget dépendant d'une certaine situation, et je veux que mon texte imprimé apparaisse au-dessus du widget et reste là.ipywidget interactive cacher la visibilité

dropdown=widgets.Dropdown(
    options={'Coffee machine': 1, 'Washing machine': 2, 'Water Heater': 3, 'Heating System': 4, 'Dryer': 5, 'Oven': 6, 'Microwave': 7, 'Other':8}, 
    value=1, 
    description='Apparaat:', 
    ) 
text_new=widgets.Text() 
def text_field(value): 
    if(value==8): 
     display(text_new) 
     text_new.on_submit(handle_submit) 
    else: 
     text_new.visible(False) #Doesn't work but I want something like this 
print("Today you had an increase in electricity consumption, would you like to name this device?") #This just be above the dropdown menu and be stuck 
i=widgets.interactive(text_field, value=dropdown) 
display(i) 

Ce que cela fait maintenant: Lorsque « Autre » est cochée dans le menu déroulant, une zone de texte apparaît lorsque l'utilisateur peut taper quelque chose. Cependant, lors de la vérification d'une autre machine, la zone de texte reste là. J'ai juste besoin d'une fonction "cacher" mais je n'arrive pas à en trouver une qui marche.

De même, après avoir coché une autre option dans la liste déroulante, l'impression disparaît et ne revient pas.

Répondre