本篇准备开始介绍Streamlit的组件。

Streamlit的组件非常多,后续几篇打算按照用途的分类,介绍每个分类中最常用的组件。

本次从最简单的组件开始,介绍文本和标题相关的组件,也就是以下4个组件:

  1. st.text:用于显示普通的文本内容
  2. st.title:用于显示页面的大标题
  3. st.header:用于显示一级标题
  4. st.subheader:用于显示二级标题

1. st.text 组件

st.textStreamlit 中最基本的文本展示组件。

它的主要功能是显示普通的文本内容,没有特殊的格式或样式,

主要用于展示段落、说明性文字或任何不需要特殊强调的文本。

使用场景主要包括:

  • 展示应用程序的说明文字
  • 显示用户输入或动态生成的文本内容
  • 作为其他组件之间的过渡文本

st.text既可以显示单行文本,也可以通过三引号来显示多行文本

import streamlit as st

st.text("这是一个使用 st.text 显示的普通文本。")
st.text(
"""这是一个使用 st.text 显示的多行文本。
每一行都会单独显示,
并且保持原有的格式。"""
)

2. st.title 组件

st.title 是用于显示页面大标题的组件。

它的字体大且加粗,非常醒目,通常位于页面的顶部或重要内容的开头。

st.title 的主要作用是吸引用户的注意力,明确应用程序的主题或当前部分的核心内容。

它的使用场景有:

  • 作为整个应用程序的标题
  • 标识应用程序中的重要部分或章节
  • 在页面顶部提供清晰的导航指示

st.title使用非常简单。

st.title("XXX数据应用程序")

3. st.header 组件

st.header 是用于显示一级标题的组件。

它的字体和加粗程度略小于 st.title,但仍然足够显眼,能够清晰地标识出页面内容的不同部分。

st.header 的主要作用是帮助用户理解应用程序的结构,快速定位到感兴趣的内容部分。

st.header可以当成HTML中的H1标签来看,它的使用场景主要有:

  • 划分应用程序的不同区块或章节
  • 为特定部分的内容提供标题
  • 在长页面中提供视觉上的分隔

st.header的使用和st.title类似,下面的示例把它当作内容分割的标题。

import streamlit as st

st.header("引言")
st.text("本文介绍了 Streamlit 的基本文本展示组件。") st.header("方法")
st.text("我们采用了多种方法来分析数据。") st.header("结果")
st.text("以下是我们的分析结果。")

4. st.subheader 组件

st.subheader 是用于显示二级标题的组件。

相对于 st.header,它的字体和加粗程度进一步减小,但仍然能够清晰地标识出内容的子部分。

st.subheader 的主要作用是进一步细化内容结构,为用户提供更详细的导航或内容概述,可以把它当成HTML中的H2标签来看。

它的使用场景:

  • 在一级标题下进一步划分内容子部分
  • 为特定的小节或段落提供标题
  • 在需要强调但不需要过分突出的地方使用

下面的示例展示二级标题的使用:

st.header("销售数据分析")
st.subheader("月度销售趋势")
st.text("这里将展示每月的销售数据趋势。") st.subheader("年度销售趋势")
st.text("这里将展示整年的销售数据趋势。") st.subheader("产品类别销售情况")
st.text("接下来,我们将分析不同产品类别的销售情况。")

5. 总结

上面介绍的4个组件st.textst.titlest.headerst.subheader 并不是孤立存在的,它们通常会被组合在一起使用,以构建出具有层次感和逻辑性的页面布局。

使用时,根据内容层次选择组件,比如,

使用 st.title 作为整个页面或应用程序的开头,明确主题和核心目的;

使用 st.header 来划分页面的主要部分或章节,每个 st.header 都应该代表一个相对独立且完整的内容区块;

st.header 之下,使用 st.subheader 来进一步细化内容,为具体的小节或段落提供标题;

最后,用st.text 来填充上述标题之间的空白,提供具体的描述、解释或补充信息。

需要注意的是,虽然这些文本展示组件非常有用,但也要避免过度使用,过多的标题和文本可能会让用户感到混乱和迷失方向。

因此,在使用这些组件时,要确保它们真正为页面增加了价值,而不是成为冗余的信息。

『玩转Streamlit』--文本与标题组件的更多相关文章

  1. Github 恶搞教程(一起『玩坏』自己的 Github 吧)

    最近在伯乐在线读到一篇趣文,<如何在 Github『正确』做贡献>,里面各种能人恶搞 Github 的『Public contributions』,下面截取几个小伙伴的战绩: 顺藤摸瓜,发 ...

  2. 『Python基础-4』字符串

    # 『Python基础-4』字符串 目录 1.什么是字符串 2.修改字符串 2.1 修改字符串大小 2.2 合并(拼接)字符串 2.3 使用乘号'*'来实现字符串的叠加效果. 2.4 在字符串中添加空 ...

  3. 『心善渊』Selenium3.0基础 — 24、Selenium的expected_conditions模块详细介绍

    目录 1.EC模块介绍 2.EC模块常用类 3.EC模块的使用 4.EC模块综合使用 (1)title_is(title)示例 (2)presence_of_element_located(locat ...

  4. 『Asp.Net 组件』Asp.Net 服务器组件 内嵌JS:让自己的控件动起来

    代码: using System; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; namespace ...

  5. 『Asp.Net 组件』Asp.Net 服务器组件 内嵌图片:自己的图片控件

    代码: using System; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; namespace ...

  6. 『Asp.Net 组件』Asp.Net 服务器组件 的开发优势和劣势

    在写<Asp.Net 服务器组件系列文档>之前,笔者不才,揣测微软战略用意: 微软利益诉求莫过于 微软产品和技术的市场份额: 因此,微软战略之一莫过于将 所有开发人员 团聚在 微软周围,以 ...

  7. 2018-2019-2 20165316 『网络对抗技术』Exp3:免杀原理与实践

    2018-2019-2 20165316 『网络对抗技术』Exp3:免杀原理与实践 一 免杀原理与实践说明 (一).实验说明 任务一:正确使用msf编码器,msfvenom生成如jar之类的其他文件, ...

  8. 2017-2018-2 20155303『网络对抗技术』Final:Web渗透获取WebShell权限

    2017-2018-2 『网络对抗技术』Final:Web渗透获取WebShell权限 --------CONTENTS-------- 一.Webshell原理 1.什么是WebShell 2.We ...

  9. 2017-2018-2 20155303『网络对抗技术』Exp9:Web安全基础

    2017-2018-2 『网络对抗技术』Exp9:Web安全基础 --------CONTENTS-------- 一.基础问题回答 1.SQL注入攻击原理,如何防御? 2.XSS攻击的原理,如何防御 ...

  10. 2017-2018-2 20155303『网络对抗技术』Exp8:Web基础

    2017-2018-2 『网络对抗技术』Exp8:Web基础 --------CONTENTS-------- 一.原理与实践说明 1.实践具体要求 2.基础问题回答 二.实践过程记录 1.Web前端 ...

随机推荐

  1. AOP(代理模式)

    利用特性Attribute+反射+代理类实现AOP 一.定义自定义特性 /// <summary> /// 自定义特性,方法执行前调用 /// </summary> publi ...

  2. CM3和ARM7的差异

    此文章由文心一言生成,引用请标注作者:文心一言CM3通常指的是Cortex-M3,它是ARM公司设计的一种基于ARMv7-M架构的32位处理器内核,主要用于嵌入式系统.而ARM7则是ARM公司早期设计 ...

  3. 【YashanDB知识库】账号被锁,如何分析具体原因

    问题现象 客户刚开始使用YashanDB的时候,经常收到客户反馈账号被锁,但是不知道哪里触发了. 问题的风险及影响 客户环境为测试环境,影响测试业务的开展. 问题影响的版本 YashanDB版本:23 ...

  4. 《SpringCloud微服务之间相互调用》之Feign实战

    一.场景再现 假设我们有这样一个场景: 用户付款成功后,扣除用户金额,还要减少仓库数量.按照微服务的设计理念,用户具有至少以下3个服务(项目): 1.订单 2.账户 3.仓库 微服务之间都是相互独立的 ...

  5. ASP.NET Core – DateTime, DateTimeOffset, DateOnly, TimeOnly, TimeSpan, TimeZone, NodaTime 使用基础

    前言 心血来潮,这篇讲点基础的东西. 对日期和时区 timezone 不熟悉的读者,请先看这篇 Time Zone, Leap Year, Date Format, Epoch Time 时区, 闰年 ...

  6. 【Abyss】Android 平台应用级系统调用拦截框架

    Android平台从上到下,无需ROOT/解锁/刷机,应用级拦截框架的最后一环 -- SVC系统调用拦截. ☞ Github ☜ 由于我们虚拟化产品的需求,需要支持在普通的Android手机运行.我们 ...

  7. 关于建表字段是否该使用not null这个问题你怎么看?

    大家好,我是 V 哥,在数据库设计中,是否使用 NOT NULL 是一个非常重要的决策,直接影响数据完整性.查询性能以及业务逻辑的复杂度.使用 NOT NULL 的关键在于理解业务需求和具体场景. 下 ...

  8. LeetCode 1000. Minimum Cost to Merge Stones (区间 DP)

    根据寒神题解 https://leetcode.com/problems/minimum-cost-to-merge-stones/discuss/247567/JavaC%2B%2BPython-D ...

  9. find_sys_call_table和kallsysms_lookup_name的区别

    find_sys_call_table 和 kallsyms_lookup_name 都可以用于查找内核符号,但它们的具体作用和使用场景有所不同.以下是两者的详细对比: 1. find_sys_cal ...

  10. MobileNet V2中InvertedResidual实现

    1.为了方便理解其本身结构,找到源码理解一下. 2.论文地址:http://arxiv.org/pdf/1801.04381.pdf 3.V2相比较V1增加了倒残差结构和线性瓶颈层.整个结构按照维度来 ...