显示一个单行文本输入小部件。

函数签名[source]

st.text_input(标签, 值="", 最大字符数=无, 键=无, 类型="默认", 帮助=无, 自动完成=无, 更改时=无, 参数=无, 关键字参数=无, *, 占位符=无, 禁用=假, 标签可见性="可见")

参数

label (str)

一个简短的标签,向用户解释此输入的用途。 标签可以选择性地包含以下类型的GitHub风格的Markdown:粗体、斜体、删除线、内联代码、链接和图片。图片显示为图标,最大高度等于字体高度。

不支持的Markdown元素会被解包,因此只渲染它们的子元素(文本内容)。通过反斜杠转义不支持的元素,将其显示为字面字符。例如, "1\. 不是一个有序列表"

有关其他支持的Markdown指令,请参见st.markdownbody参数。

出于可访问性原因,您不应设置空标签,但可以根据需要使用label_visibility隐藏它。将来,我们可能会通过引发异常来禁止空标签。

value (object or None)

此小部件首次渲染时的文本值。这将在内部转换为字符串。如果为None,将初始化为空,并在用户提供输入之前返回None。默认为空字符串。

max_chars (int or None)

文本输入中允许的最大字符数。

key (str or int)

一个可选的字符串或整数,用作小部件的唯一键。 如果省略,将根据小部件的内容生成一个键。 任何两个小部件都不能有相同的键。

type ("default" 或 "password")

文本输入的类型。这可以是 "default"(用于常规文本输入),或 "password"(用于掩盖用户输入值的文本输入)。默认为 "default"。

help (str)

一个可选的工具提示,显示在小部件标签旁边。 只有当label_visibility="visible"时,Streamlit才会显示工具提示。

autocomplete (str)

一个可选值,将传递给元素的autocomplete属性。如果未指定,对于“password”输入,此值将设置为“new-password”,对于“default”输入,将设置为空字符串。更多详情,请参见https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete

on_change (callable)

当此文本输入的值发生变化时调用的可选回调函数。

args (tuple)

传递给回调函数的可选参数元组。

kwargs (dict)

一个可选的字典,用于传递给回调函数。

placeholder (str or None)

当文本输入为空时显示的可选字符串。如果为 None,则不显示任何文本。

disabled (bool)

一个可选的布尔值,如果设置为True,则禁用文本输入。默认值为False

label_visibility ("visible", "hidden", or "collapsed")

标签的可见性。默认是"visible"。如果这是"hidden",Streamlit会显示一个空的占位符而不是标签,这有助于保持小部件与其他小部件对齐。如果这是"collapsed",Streamlit不会显示标签或占位符。

返回

(str or None)

文本输入小部件的当前值,如果用户未提供值则为None

示例

import streamlit as st

title = st.text_input("Movie title", "Life of Brian")
st.write("The current movie title is", title)

文本输入小部件可以使用label_visibility参数自定义如何隐藏其标签。如果设置为"hidden",标签不会显示,但在小部件上方仍保留空白空间(等同于label="")。如果设置为"collapsed",标签和空间都会被移除。默认值为"visible"。文本输入小部件还可以通过disabled参数禁用,并且可以在文本输入为空时使用placeholder参数显示可选的占位符文本:

import streamlit as st # Store the initial value of widgets in session state if "visibility" not in st.session_state: st.session_state.visibility = "visible" st.session_state.disabled = False col1, col2 = st.columns(2) with col1: st.checkbox("Disable text input widget", key="disabled") st.radio( "Set text input label visibility 👉", key="visibility", options=["visible", "hidden", "collapsed"], ) st.text_input( "Placeholder for the other text input widget", "This is a placeholder", key="placeholder", ) with col2: text_input = st.text_input( "Enter some text 👇", label_visibility=st.session_state.visibility, disabled=st.session_state.disabled, placeholder=st.session_state.placeholder, ) if text_input: st.write("You entered: ", text_input)
forum

还有问题吗?

我们的 论坛 充满了有用的信息和Streamlit专家。