Python 中使用 Streamlit 创建交互式用户界面

发布:2024-09-10 17:00 阅读:19 点赞:0

在构建应用程序时,确保其外观良好且易于使用是非常重要的。这时,交互式用户界面(UI)就显得尤为重要。交互式 UI 帮助用户理解如何使用应用程序,并使使用过程更加愉快。如果你使用 Python 来构建应用程序,Streamlit 是一个绝佳的工具,可以快速且轻松地创建交互式 UI。

一、什么是 Streamlit?

Streamlit 是一个免费的开源 Python 库,允许你用少量的代码创建漂亮的数据项目网页应用。它设计简单直观,即使你不是 web 开发者,也可以构建出优秀的应用程序。

1.1 为什么选择 Streamlit?

  • 易用性: Streamlit 非常用户友好。你用 Python 编写代码,Streamlit 处理网页开发部分。
  • 快速设置: 你可以在几分钟内启动一个基本应用。
  • 交互式组件: Streamlit 提供了多种交互式组件,如滑块、按钮和文本输入框,使你的应用更加吸引人。

二、实现示例

下面是一个 Streamlit 演示 UI 的示例,帮助你理解如何使用这个工具。

import streamlit as st  # 导入 Streamlit 模块
from streamlit_option_menu import option_menu  # 导入选项菜单模块
import pandas as pd  # 导入 pandas 模块,用于创建图表样本数据

# 添加图像到应用中
st.image("icon.png")  # 显示名为 "icon.png" 的图像

# 设置标题和头部
st.title('Streamlit Demo App')  # 设置应用的标题
st.header('Welcome to Streamlit!')  # 设置应用的头部

# 添加选项菜单
selected = option_menu(
    menu_title=None,  # 不设置菜单标题
    options=["Option1""Option2""Option3""Option4"],  # 菜单选项
    icons=["cast""cloud-upload""cast"],  # 每个选项的图标
    default_index=0,  # 默认选择的索引
    orientation="horizontal",  # 菜单的方向
)
st.markdown("Welcome to my app....................")  # 添加欢迎信息

# 添加展开面板
st.markdown("""\n""")  # 添加空行
with st.expander("About App"):  # 创建展开面板,标题为 "About App"
    st.write("""
    This is a simple app that displays a title, header, and an image.
    - We working on this project """
)  # 展开面板中的内容

# 添加侧边栏
with st.sidebar:  # 进入侧边栏
    st.title('Your Sidebar')  # 设置侧边栏的标题
    st.markdown("Add content")  # 添加内容
    st.button("Button")  # 添加按钮

# 创建样本数据以生成图表
data = pd.DataFrame({
    'x': range(10),  # x 轴数据
    'y': [i**2 for i in range(10)]  # y 轴数据,平方值
})

# 创建折线图
st.line_chart(data.set_index('x'))  # 创建折线图,以 x 作为索引

st.markdown("""\n""")  # 添加空行

# 添加滑块
number = st.slider('Select a number'0100)  # 添加滑块,范围从 0 到 100
# 显示选中的数字
st.write(f'You selected: {number}')  # 显示用户选择的数字

# 添加按钮
if st.button('Say Hello'):  # 如果按钮被点击
    st.write('Hello, Streamlit!')  # 显示问候信息

三、总结

Streamlit 是一个强大的工具,可以用来为你的 Python 应用程序创建交互式 UI。它易于使用,可以帮助你在无需 extensive web 开发技能的情况下,快速创建引人入胜的应用程序。通过使用 Streamlit,你可以专注于应用程序的功能,库本身会处理用户界面部分。试试 Streamlit,你会发现如何迅速将你的 Python 代码转化为一个精美的交互式应用程序!