streamlit
91 строка · 2.7 Кб
1# Copyright (c) Streamlit Inc. (2018-2022) Snowflake Inc. (2022-2024)
2#
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain a copy of the License at
6#
7# http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12# See the License for the specific language governing permissions and
13# limitations under the License.
14
15from datetime import date, datetime16
17import streamlit as st18from streamlit import runtime19
20v1 = st.date_input("Single date", date(1970, 1, 1), min_value=date(1970, 1, 1))21st.write("Value 1:", v1)22
23v2 = st.date_input("Single datetime", datetime(2019, 7, 6, 21, 15), help="Help text")24st.write("Value 2:", v2)25
26v3 = st.date_input("Range, no date", [])27st.write("Value 3:", v3)28
29v4 = st.date_input("Range, one date", [date(2019, 7, 6)])30st.write("Value 4:", v4)31
32v5 = st.date_input("Range, two dates", [date(2019, 7, 6), date(2019, 7, 8)])33st.write("Value 5:", v5)34
35v6 = st.date_input("Disabled, no date", [], disabled=True)36st.write("Value 6:", v6)37
38v7 = st.date_input(39"Label hidden", datetime(2019, 7, 6, 21, 15), label_visibility="hidden"40)
41st.write("Value 7:", v7)42
43v8 = st.date_input(44"Label collapsed", datetime(2019, 7, 6, 21, 15), label_visibility="collapsed"45)
46st.write("Value 8:", v8)47
48v9 = st.date_input("Single date with format", date(1970, 1, 1), format="MM-DD-YYYY")49st.write("Value 9:", v9)50
51v10 = st.date_input(52"Range, two dates with format",53[date(2019, 7, 6), date(2019, 7, 8)],54format="MM/DD/YYYY",55)
56st.write("Value 10:", v10)57
58v11 = st.date_input("Range, no date with format", [], format="DD.MM.YYYY")59st.write("Value 11:", v11)60
61
62if runtime.exists():63
64def on_change():65st.session_state.date_input_changed = True66st.text("Date input changed callback")67
68st.date_input(69"Single date with callback",70date(1970, 1, 1),71min_value=date(1970, 1, 1),72key="date_input_12",73on_change=on_change,74)75st.write("Value 12:", st.session_state.date_input_12)76st.write("Date Input Changed:", st.session_state.get("date_input_changed") is True)77# Reset to False:78st.session_state.date_input_changed = False79
80v13 = st.date_input("Empty value", value=None)81st.write("Value 13:", v13)82
83if "date_input_14" not in st.session_state:84st.session_state["date_input_14"] = date(1970, 2, 3)85
86v14 = st.date_input(87"Value from state",88value=None,89key="date_input_14",90)
91st.write("Value 14:", v14)92