Tamanho de fonte
Alto contraste
Altura de linha

Widgets de Streamlit: sliders, botões, caixas de seleção e mais

Avatar de Ana Maria Gomes Ana Maria Gomes
9 minutos de leitura 3 meses atrás

Se você está começando a explorar o mundo da criação de web apps com Python, o Streamlit é uma ferramenta poderosa e intuitiva que pode transformar suas ideias em realidade rapidamente. Um dos recursos mais interessantes do Streamlit são os widgets, que permitem adicionar interatividade aos seus aplicativos. Neste artigo, vamos explorar o que são widgets, como adicioná-los ao seu app e exemplos práticos de uso de sliders, botões, caixas de seleção e outros widgets básicos.

Introdução aos Widgets do Streamlit

Os widgets são componentes interativos que permitem aos usuários interagir com seu aplicativo. Eles são essenciais para coletar entradas do usuário e fornecer uma experiência dinâmica. No Streamlit, widgets como sliders, botões e caixas de seleção são fáceis de implementar e podem transformar um script Python simples em uma aplicação web interativa.

O que são widgets?

Widgets são elementos de interface gráfica que permitem a interação do usuário com o aplicativo. No contexto do Streamlit, eles são usados para capturar entradas do usuário e passar essas informações para o código Python. Isso inclui elementos como sliders para selecionar valores numéricos, botões para acionar ações e caixas de seleção para opções booleanas.

Por que usar widgets no Streamlit?

Usar widgets no Streamlit é uma maneira eficaz de tornar seus aplicativos mais interativos e responsivos. Eles permitem que os usuários forneçam entradas de forma intuitiva, o que pode ser crucial para aplicações que dependem de dados dinâmicos. Além disso, a simplicidade de implementação dos widgets no Streamlit torna essa ferramenta acessível até mesmo para iniciantes.

Como usar Widgets de Streamlit?

Os widgets no Streamlit são componentes interativos que permitem aos usuários filtrar e manipular dados em tempo real. Eles incluem elementos como sliders, botões, caixas de seleção, radio buttons, select boxes, entre outros. Para utilizá-los, você deve importar a biblioteca Streamlit e usar funções específicas para cada tipo de widget. Por exemplo, st.slider para sliders, st.button para botões, e st.checkbox para caixas de seleção. Esses widgets podem ser usados para modificar a disposição dos gráficos e dados exibidos no seu web app, tornando-o mais dinâmico e interativo.

Como adicionar widgets ao seu WebApp

Adicionar widgets ao seu aplicativo Streamlit é um processo simples e direto. Vamos começar com os passos básicos para iniciar um app com Streamlit.

Passos básicos para iniciar um app com Streamlit

Para começar, você precisa instalar o Streamlit. Você pode fazer isso usando o pip:

pip install streamlit

Depois de instalar, você pode criar um novo arquivo Python, por exemplo, app.py, e adicionar o seguinte código básico:

import streamlit as st

st.title('Meu Primeiro App com Streamlit')
st.write('Olá, mundo!')

Para executar o aplicativo, use o comando:

streamlit run app.py

Isso abrirá seu aplicativo em uma nova aba do navegador. Agora, vamos adicionar alguns widgets!

Sliders

Os sliders são widgets que permitem aos usuários selecionar um valor dentro de um intervalo. Eles são úteis para ajustar parâmetros numéricos de forma interativa.

O que é um slider?

Um slider é um controle deslizante que permite ao usuário escolher um valor dentro de um intervalo definido. É ideal para entradas numéricas onde o usuário precisa ajustar um valor de forma precisa.

Como criar um slider

Criar um slider no Streamlit é simples. Aqui está um exemplo básico:

import streamlit as st

valor = st.slider('Selecione um valor', 0, 100, 50)
st.write('O valor selecionado é:', valor)

Exemplos de uso de sliders

Os sliders podem ser usados em diversas situações, como ajustar a sensibilidade de um modelo, definir limites de filtragem de dados, entre outros. Aqui está um exemplo de uso em um contexto de filtragem de dados:

import streamlit as st
import pandas as pd

# Dados de exemplo
data = {'Idade': [23, 45, 12, 67, 34, 25, 19]}
df = pd.DataFrame(data)

# Slider para selecionar a idade mínima
idade_minima = st.slider('Selecione a idade mínima', 0, 100, 18)
df_filtrado = df[df['Idade'] >= idade_minima]

st.write('Dados filtrados:', df_filtrado)

Botões

Os botões são widgets que permitem aos usuários acionar ações específicas. Eles são essenciais para interações que requerem uma confirmação explícita do usuário.

O que é um botão?

Um botão é um elemento de interface que, quando clicado, executa uma ação definida. No Streamlit, os botões são usados para acionar funções ou atualizar a interface com base na entrada do usuário.

Como criar um botão

Criar um botão no Streamlit é tão simples quanto criar um slider. Aqui está um exemplo básico:

import streamlit as st

if st.button('Clique aqui'):
    st.write('Botão clicado!')

Exemplos de uso de botões

Os botões podem ser usados para diversas ações, como enviar formulários, atualizar gráficos ou iniciar cálculos. Aqui está um exemplo de uso para atualizar um gráfico:

import streamlit as st
import numpy as np
import pandas as pd

# Dados de exemplo
data = np.random.randn(10, 2)
df = pd.DataFrame(data, columns=['A', 'B'])

# Botão para atualizar os dados
if st.button('Atualizar dados'):
    data = np.random.randn(10, 2)
    df = pd.DataFrame(data, columns=['A', 'B'])

st.write('Dados:', df)

Caixas de Seleção

As caixas de seleção são widgets que permitem aos usuários selecionar uma ou mais opções de uma lista. Elas são úteis para entradas booleanas e seleção múltipla.

O que é uma caixa de seleção?

Uma caixa de seleção é um elemento de interface que permite ao usuário selecionar ou desmarcar uma opção. No Streamlit, elas são usadas para capturar entradas booleanas ou múltiplas seleções.

Como criar uma caixa de seleção

Criar uma caixa de seleção no Streamlit é simples. Aqui está um exemplo básico:

import streamlit as st

opcao = st.checkbox('Marque esta opção')
if opcao:
    st.write('Opção marcada!')
else:
    st.write('Opção desmarcada!')

Exemplos de uso de caixas de seleção

As caixas de seleção podem ser usadas para mostrar ou ocultar seções de um aplicativo, filtrar dados ou configurar opções. Aqui está um exemplo de uso para mostrar ou ocultar um gráfico:

import streamlit as st
import numpy as np
import pandas as pd

# Dados de exemplo
data = np.random.randn(10, 2)
df = pd.DataFrame(data, columns=['A', 'B'])

# Caixa de seleção para mostrar ou ocultar o gráfico
if st.checkbox('Mostrar gráfico'):
    st.line_chart(df)

Outros Widgets Básicos

Além dos sliders, botões e caixas de seleção, o Streamlit oferece uma variedade de outros widgets básicos que podem ser usados para capturar diferentes tipos de entradas do usuário.

Campos de texto

Os campos de texto permitem que os usuários insiram texto livre. Eles são úteis para capturar entradas como nomes, endereços ou qualquer outro tipo de texto.

import streamlit as st

nome = st.text_input('Digite seu nome')
st.write('Seu nome é:', nome)

Caixas de seleção múltipla (checkboxes)

As caixas de seleção múltipla permitem que os usuários selecionem várias opções de uma lista.

import streamlit as st

opcoes = st.multiselect('Selecione suas opções', ['Opção 1', 'Opção 2', 'Opção 3'])
st.write('Você selecionou:', opcoes)

Botões de rádio

Os botões de rádio permitem que os usuários selecionem uma única opção de um grupo.

import streamlit as st

escolha = st.radio('Escolha uma opção', ['Opção A', 'Opção B', 'Opção C'])
st.write('Você escolheu:', escolha)

Selectbox

A selectbox permite que os usuários selecionem uma opção de um menu suspenso.

import streamlit as st

opcao = st.selectbox('Selecione uma opção', ['Opção 1', 'Opção 2', 'Opção 3'])
st.write('Você selecionou:', opcao)

Dicas para Organizar Widgets

Organizar seus widgets de forma eficiente pode melhorar a usabilidade do seu aplicativo. O Streamlit oferece várias maneiras de organizar widgets, incluindo o uso da barra lateral e layout com colunas.

Usando a barra lateral (sidebar)

A barra lateral é uma ótima maneira de manter os controles do usuário separados do conteúdo principal do aplicativo.

import streamlit as st

# Adicionando widgets à barra lateral
st.sidebar.title('Barra Lateral')
st.sidebar.slider('Selecione um valor', 0, 100, 50)
st.sidebar.selectbox('Selecione uma opção', ['Opção 1', 'Opção 2', 'Opção 3'])

Layout com colunas

O layout com colunas permite que você coloque widgets lado a lado, o que pode ser útil para criar interfaces mais compactas e organizadas.

import streamlit as st

col1, col2 = st.columns(2)

with col1:
    st.button('Botão 1')

with col2:
    st.button('Botão 2')

Conclusão

Neste artigo, exploramos os widgets do Streamlit e como eles podem ser usados para adicionar interatividade aos seus aplicativos. Aprendemos a criar sliders, botões, caixas de seleção e outros widgets básicos, além de dicas para organizar esses elementos de forma eficiente. Com esses conhecimentos, você está pronto para começar a criar aplicativos web interativos e dinâmicos com o Streamlit.

Se você quiser continuar aprendendo sobre o Streamlit e outras ferramentas de desenvolvimento de aplicativos, recomendamos explorar a documentação oficial do Streamlit, participar da comunidade de desenvolvedores e acompanhar os conteúdos da Asimov sobre a biblioteca, como o tutorial Criando seu primeiro app com streamlit. Há sempre algo novo para aprender e implementar em seus projetos!

Referências

Imagem de um notebook

Cursos de programação gratuitos com certificado

Aprenda a programar e desenvolva soluções para o seu trabalho com Python para alcançar novas oportunidades profissionais. Aqui na Asimov você encontra:

  • Conteúdos gratuitos
  • Projetos práticos
  • Certificados
  • +20 mil alunos e comunidade exclusiva
  • Materiais didáticos e download de código
Inicie agora

Comentários

Comentar
Faça parte da discussão Crie sua conta gratuita e compartilhe
sua opinião nos comentários
Entre para a Asimov