7 способов добавления кнопок в приложения Streamlit — подробное руководство

Streamlit – это популярная библиотека Python, используемая для создания интерактивных веб-приложений для проектов по обработке данных и машинному обучению. Хотя Streamlit предоставляет различные интуитивно понятные функции, добавление кнопок в ваши приложения может улучшить взаимодействие с пользователем и повысить интерактивность. В этой статье мы рассмотрим семь различных способов добавления кнопок в приложения Streamlit, а также приведем примеры кода.

Метод 1: использование st.button()
Самый простой способ добавить кнопку в Streamlit — использовать функцию st.button(). Вот пример:

import streamlit as st
if st.button('Click me!'):
    st.write('Button clicked!')

Метод 2: настройка меток и цветов кнопок
Вы можете настроить метку и цвет кнопки с помощью параметров labelи helpStreamlit. Вот пример:

import streamlit as st
if st.button('Click me!', help='This is a button', key='my_button'):
    st.write('Button clicked!')

Метод 3: создание переключателей
Streamlit также позволяет создавать переключатели с помощью функции st.radio(). Вот пример:

import streamlit as st
option = st.radio('Choose an option:', ('Option 1', 'Option 2', 'Option 3'))
if option == 'Option 1':
    st.write('Option 1 selected!')

Метод 4: Кнопки-переключатели
Вы можете создавать кнопки-переключатели с помощью функции st.checkbox(). Вот пример:

import streamlit as st
toggle = st.checkbox('Toggle me')
if toggle:
    st.write('Toggle button activated!')

Метод 5: выбор нескольких параметров
Если вы хотите, чтобы пользователи могли выбирать несколько параметров, вы можете использовать функцию st.multiselect(). Вот пример:

import streamlit as st
options = st.multiselect('Select options:', ['Option 1', 'Option 2', 'Option 3'])
for option in options:
    st.write(f'Selected: {option}')

Метод 6: создание кнопок в столбцах
Streamlit также поддерживает создание кнопок в столбцах с помощью функции st.columns(). Вот пример:

import streamlit as st
col1, col2, col3 = st.columns(3)
if col1.button('Button 1'):
    st.write('Button 1 clicked!')
if col2.button('Button 2'):
    st.write('Button 2 clicked!')
if col3.button('Button 3'):
    st.write('Button 3 clicked!')

Метод 7. Использование HTML и CSS
Для более расширенной настройки вы можете использовать HTML и CSS в приложениях Streamlit. Вот пример:

import streamlit as st
st.markdown('''
<style>
    .my-button {
        background-color: #4CAF50;
        color: white;
        padding: 10px 20px;
        text-align: center;
        text-decoration: none;
        display: inline-block;
        font-size: 16px;
        margin: 4px 2px;
        cursor: pointer;
        border-radius: 8px;
    }
</style>
''', unsafe_allow_html=True)
if st.button('Click me!', unsafe_allow_html=True, help='This is a button with custom style', key='my_button'):
    st.write('Button clicked!')

В этой статье мы рассмотрели семь способов добавления кнопок в приложения Streamlit. От базовой функции st.button()до более продвинутой настройки с использованием HTML и CSS — Streamlit предлагает универсальный набор инструментов для повышения интерактивности ваших приложений. Добавляя кнопки, вы можете создавать интуитивно понятные пользовательские интерфейсы и позволять пользователям более эффективно взаимодействовать с вашими проектами по обработке данных.