Python 中使用 Streamlit 创建交互式用户界面
阅读:97
点赞: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', 0, 100) # 添加滑块,范围从 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 代码转化为一个精美的交互式应用程序!