函数签名[source] | |
---|---|
st.text_input(标签, 值="", 最大字符数=无, 键=无, 类型="默认", 帮助=无, 自动完成=无, 更改时=无, 参数=无, 关键字参数=无, *, 占位符=无, 禁用=假, 标签可见性="可见") | |
参数 | |
label (str) | 一个简短的标签,向用户解释此输入的用途。 标签可以选择性地包含以下类型的GitHub风格的Markdown:粗体、斜体、删除线、内联代码、链接和图片。图片显示为图标,最大高度等于字体高度。 不支持的Markdown元素会被解包,因此只渲染它们的子元素(文本内容)。通过反斜杠转义不支持的元素,将其显示为字面字符。例如, "1\. 不是一个有序列表"。 有关其他支持的Markdown指令,请参见st.markdown的body参数。 出于可访问性原因,您不应设置空标签,但可以根据需要使用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)
还有问题吗?
我们的 论坛 充满了有用的信息和Streamlit专家。