You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

KivyMd中Snackbar设置文本颜色不生效且显示颜色标签问题

你遇到的问题是因为KivyMD的Snackbar默认关闭了富文本解析功能,文本中插入的BBCode颜色标签会被当作普通文本直接展示,不会被解析为样式。

解决方案

方案1:开启富文本解析(适合同一段文本需要设置多段不同颜色的场景)

创建Snackbar时新增markup=True参数开启BBCode解析即可,示例代码如下:

Snackbar(
    text="[color=181818]Elemento copiato negli appunti![/color]",
    markup=True
).show()

方案2:直接设置全局文本颜色(适合整段文本统一颜色的场景)

如果不需要分段设置颜色,可以直接通过text_color参数指定文本颜色,不需要写BBCode标签,示例代码如下:

# 十六进制颜色#181818对应归一化到0~1区间的RGBA值为(24/255, 24/255, 24/255, 1)
Snackbar(
    text="Elemento copiato negli appunti!",
    text_color=(24/255, 24/255, 24/255, 1)
).show()

版本兼容兜底方案

如果你使用的KivyMD版本较旧,上述参数不生效,可以通过修改Snackbar内部文本控件属性实现效果:

snackbar = Snackbar(text="[color=181818]Elemento copiato negli appunti![/color]")
snackbar._label.markup = True
# 不需要富文本的话也可以直接改颜色:snackbar._label.text_color = (24/255, 24/255, 24/255, 1)
snackbar.show()

内容的提问来源于stack exchange,提问作者Profesional Failer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.18 21:48:01