Módulo: Widgets de entrada
Este módulo forma parte del curso de Streamlit. .
Los widgets de entrada son los bloques de construcción fundamentales para crear aplicaciones interactivas en Streamlit. Cada widget captura un tipo de dato específico del usuario y devuelve su valor actual en cada ejecución del script, permitiendo que la aplicación reaccione en tiempo real.
Botones y acciones
Los botones ejecutan acciones puntuales. A diferencia de otros widgets, st.button devuelve True solo durante la ejecución en la que se pulsó:
import streamlit as st
if st.button("Generar informe", type="primary", icon="📊"):
st.success("Informe generado correctamente.")
# Botón de descarga: no necesita if para funcionar
st.download_button(
label="Descargar datos CSV",
data="col1,col2\n1,2\n3,4",
file_name="datos.csv",
mime="text/csv"
)
Campos de texto y números
nombre = st.text_input("Nombre completo", placeholder="Ej: Ana García")
descripcion = st.text_area("Descripción del proyecto", height=150)
edad = st.number_input("Edad", min_value=0, max_value=120, value=25, step=1)
Selectores y opciones múltiples
lenguaje = st.selectbox("Lenguaje favorito", ["Python", "R", "Julia", "Scala"])
herramientas = st.multiselect("Herramientas conocidas", ["Pandas", "NumPy", "Scikit-learn", "TensorFlow"])
nivel = st.radio("Nivel de experiencia", ["Principiante", "Intermedio", "Avanzado"], horizontal=True)
# Nuevos en Streamlit 1.36+
opcion = st.pills("Categoría", ["Datos", "ML", "Visualización", "Deploy"])
modo = st.segmented_control("Modo de análisis", ["Rápido", "Completo", "Experto"])
Sliders, toggles y selector de color
confianza = st.slider("Umbral de confianza", 0.0, 1.0, 0.85, step=0.05)
rango = st.slider("Rango de años", 2015, 2026, (2020, 2024))
activar = st.toggle("Activar modo avanzado", value=False)
check = st.checkbox("Incluir outliers en el análisis")
color = st.color_picker("Color del gráfico", "#FF4B4B")
Carga de archivos y multimedia
archivo = st.file_uploader("Sube tu dataset", type=["csv", "xlsx", "parquet"])
foto = st.camera_input("Capturar imagen")
audio = st.audio_input("Grabar audio")
valoracion = st.feedback("thumbs") # o "faces", "stars"
Cada widget acepta un parámetro key para diferenciarlo cuando se usa más de una vez, y disabled para desactivarlo condicionalmente. El flujo de datos siempre es el mismo: el widget devuelve el valor actual y el script reacciona en consecuencia.
Otros módulos de este curso
Widgets de entrada
Todos los módulos del curso
Navega entre los módulos de Streamlit
Widgets de entrada
Estás aquíExplora más sobre Streamlit
Descubre más recursos de Streamlit
Alan Sastre
Ingeniero de Software y formador, CEO en CertiDevs
Ingeniero de software especializado en Full Stack y en Inteligencia Artificial. Como CEO de CertiDevs, Streamlit es una de sus áreas de expertise. Con más de 15 años programando, 6K seguidores en LinkedIn y experiencia como formador, Alan se dedica a crear contenido educativo de calidad para desarrolladores de todos los niveles.