Aprender Streamlit Widgets de entrada

Módulo del curso de Streamlit

Streamlit
Streamlit
Módulo del curso
Actualizado: 18/04/2026

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.

Explora más sobre Streamlit

Descubre más recursos de Streamlit

Alan Sastre - Autor del curso

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.