SuperAPI AI 工具集

using-streamlit-layouts

通用与其它

查看项目

更新于 10-16 09:29

技能介绍

用途:指导如何结构化 Streamlit 应用的布局,决定内容放在侧边栏、列、容器还是对话框中,以提升应用可用性。

主要能力:侧边栏仅放导航与应用级全局筛选;列最多 4 列并可用比例宽度(如 st.columns([2, 1]))与 vertical_alignment 对齐;按钮组用 st.container(horizontal=True) 水平容器;用 horizontal_alignment 的 "left"、"center"、"right"、"distribute" 对齐元素;border=True 做视觉分组;st.tabs 切换视图;st.expander 折叠次要内容;st.empty 占位符可更新或清空;st.popover 点击展开;@st.dialog 做聚焦交互(确认、设置、临时表单)。

使用方式:按资料中的示例以 with 语句组合这些控件;对话框通过 @st.dialog 修饰函数,由按钮触发,用 st.session_state 在对话框与主应用间传值,操作后 st.rerun() 关闭并刷新,dismissible=False 可强制操作。间距用容器的 gap(None 或 "small" 等)与 st.space("small"、"medium"、"large" 或自定义像素)。宽高用 width、height,"stretch" 撑满、"content" 适应内容或固定像素。

适用场景:需要组织页面结构、控制按钮组与元素对齐、分组内容、切换视图、折叠细节、做确认与设置弹窗等界面。

限制:不要把主要内容、图表、表格和结果放进侧边栏;列不宜过多以免拥挤;对话框内不支持 st.sidebar;对话框独立于主脚本重跑。