首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Streamlit:更改多选择小部件的颜色

Streamlit:更改多选择小部件的颜色
EN

Stack Overflow用户
提问于 2021-11-04 17:56:08
回答 1查看 4.4K关注 0票数 3

我一直试图更改多选择小部件的颜色,特别是选项的颜色(橙色颜色),看起来如下

但没有成功。我在这里找到了一个讨论Streamlit:修改多选择标记背景色,它改变了多选择小部件的所有元素的颜色,除了选项“方框”。有没有人知道我如何“覆盖”默认的颜色值?

我还试着用

代码语言:javascript
运行
复制
span[data-baseweb="tag"]>span:first-child {background-color:#272272 !important;}

但它只会改变橙色的中间部分,如下所示:

EN

Stack Overflow用户

回答已采纳

发布于 2021-11-05 10:01:20

我看到了做你想做的事情的三种方法。第三种方式做你想做的事情,但比第二条更麻烦。

.streamlit/config.toml进行主题化

通过配置文件使用主题选项。您可以在Streamlit 文档中看到关于主题的更多细节。

修改~/.streamlit/config.toml以包括:

代码语言:javascript
运行
复制
[theme]
primaryColor="blue"

然后,打开你的Streamlit应用程序,点击右边的汉堡包菜单,然后“设置”>“主题”,然后选择“自定义主题”。

代码语言:javascript
运行
复制
import streamlit as st

st.multiselect("Something", ["something1", "something2", "something3"])

st.checkbox("Enable autotune")

name = st.text_input("Enter your name")
st.markdown("Hello, {}!".format(name))

缺点是它修改了其他小部件的颜色:

流光界面的主题化

另一种与第一个命题相同的方法是在第一个命题的菜单中单击“编辑活动主题”。

通过st.markdown使用css注入修改css

最后一种方法是通过降价修改样式:

代码语言:javascript
运行
复制
import streamlit as st

st.markdown(
    """
<style>
span[data-baseweb="tag"] {
  background-color: blue !important;
}
</style>
""",
    unsafe_allow_html=True,
)

st.multiselect("Something", ["something1", "something2", "something3"])

这个选项只修改st.multiselect小部件的颜色,而不修改其他窗口小部件的颜色。

票数 6
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69843760

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档