Autor
|
Tema: [Python] Hay alguna forma de automatizar este proceso de Ipywidgets? (Leído 5,773 veces)
|
M401
Desconectado
Mensajes: 119
:$
|
Buenas. Estoy acomodando un cuaderno en Colab y me topé con este problema al querer automatizar la creación de botones horizontales. Tengo un diccionario, donde pongo el nombre de la variable y al lado la URL de un archivo a descargar. diccionario = { "Ahri":{"Display":"Ahri (LoL)", "URL":"Url_del_archivo","Button":"primary"}, "YoRHA":{"Display":"YoRHA No.2 type B", "URL":"Url_del_archivo","Button":"primary"}, } Luego las convierto en una variable a cada una y las defino como un botón: for personaje in diccionario: salida = diccionario[personaje] makeadownloadbutton(personaje, salida["Display"], salida["URL"], salida["Button"])
def makeadownloadbutton(key, description, url, mcolor): globals()[key] = widgets.ToggleButton( value=False, description=description, disabled=False, button_style=mcolor, # 'success', 'info', 'warning', 'danger' or '' tooltip='Download '+description, icon='user' # (FontAwesome names without the `fa-` prefix) ) return Entonces el problema, es que a la hora de usar " HBox", Tengo que definir cada una de las variables utilizadas para que se muestren: Botones_a_mostrar = widgets.HBox([Ahri, YoRHA]) Hay alguna manera de no tener que especificar cada una de las variables a usar en HBox? La duda me surgió porque estoy utilizando un diccionario con muchísimos terminos y no quiero estar escribiendo cada una de las variables ahí
|
|
|
En línea
|
Pero aunque los que sepan me digan que no, yo sé muy bien que existe el lado oscuro del sol. – El lado soleado de la calle
|
|
|
Danielㅤ
|
Hola, si es posible lograr eso, tenes que usar una lista y dentro de ellas todas las demás que desees agregar el valor, sería una multi lista. No lo he probado pero básicamente sería asi: widgets.HBox([[Ahri, YoRHA], [Ahri2, YoRHA2], [Ahri3, YoRHA3], [Ahri4, YoRHA4], [Ahri5, YoRHA5]]) Nos comentas que tal. Saludos
|
|
|
En línea
|
|
|
|
M401
Desconectado
Mensajes: 119
:$
|
Hola, disculpa la demora, muy ocupado con las tareas para mañana xd. Probé hacer lo que me dijiste y aunque me llevó mucho tiempo encontrar la manera de hacerlo, si funciona pero ahora me ocurre otro problema y parece más dificil que el anterior lol. Ahora pasa que los botones se colocan uno al lado del otro (Y supongamos quiero poner unos 50 botones), Entonces no podré ver ni siquiera sus nombres de lo apretados que estarían uno al lado del otro. No hay una manera de que al llegar a cierta cantidad en una linea horizontal, se pase a la proxima linea? Código que llevo: import ipywidgets as widgets
diccionario = { "Ahri":{"Display":"Ahri","URL":"XD","Button":"warning"}, "Kindred":{"Display":"Kindred","URL":"XD","Button":"danger"}, "Annie":{"Display":"Annie","URL":"XD","Button":"primary"}, "Ahri2":{"Display":"Ahri","URL":"XD","Button":"warning"}, "Kindred2":{"Display":"Kindred","URL":"XD","Button":"danger"}, "Annie2":{"Display":"Annie","URL":"XD","Button":"primary"}, "Ahri3":{"Display":"Ahri","URL":"XD","Button":"warning"}, "Kindred3":{"Display":"Kindred","URL":"XD","Button":"danger"}, "Annie3":{"Display":"Annie","URL":"XD","Button":"primary"}, "Ahri4":{"Display":"Ahri","URL":"XD","Button":"warning"}, "Kindred4":{"Display":"Kindred","URL":"XD","Button":"danger"}, "Annie4":{"Display":"Annie","URL":"XD","Button":"primary"}, }
def makeadownloadbutton(key, description, url, mcolor): globals()[key] = widgets.ToggleButton( value=False, description=description, disabled=False, button_style=mcolor, # 'success', 'info', 'warning', 'danger' or '' tooltip='Download '+description, icon='user' # (FontAwesome names without the `fa-` prefix) ) return
for personaje in diccionario: semidict = diccionario[personaje] global salida salida = dict(semidict) makeadownloadbutton(personaje, salida["Display"], salida["URL"], salida["Button"])
botones = widgets.HBox(children=[globals()[personaje] for personaje in diccionario]) display(botones)
|
|
|
En línea
|
Pero aunque los que sepan me digan que no, yo sé muy bien que existe el lado oscuro del sol. – El lado soleado de la calle
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Alguna forma de automatizar la comprobación de cookies?
Hacking
|
lipman
|
2
|
2,913
|
9 Abril 2011, 14:49 pm
por lipman
|
|
|
Por qué no se ejecuta este proceso de forma oculta?
.NET (C#, VB.NET, ASP)
|
luison
|
1
|
2,797
|
17 Agosto 2011, 07:28 am
por adan-2994
|
|
|
¿PUEDE ESTE ACOSADOR ENCONTRARME DE ALGUNA FORMA?
Seguridad
|
martinasira
|
5
|
3,588
|
7 Noviembre 2013, 23:04 pm
por huron74
|
|
|
[AYUDA] hay alguna forma de ocultar una ventana y el proceso de un programa???
Análisis y Diseño de Malware
|
Noxware
|
9
|
5,468
|
27 Febrero 2014, 02:10 am
por Noxware
|
|
|
¿Alguna forma de descargar este video?
Multimedia
|
jjw2
|
1
|
2,961
|
13 Marzo 2018, 21:21 pm
por padrinohack
|
|