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

如何在Textual的TCSS中定位SelectionList选中项的文本并修改其颜色?

如何在Textual的TCSS中定位SelectionList选中项的文本并修改其颜色?

嘿,我来帮你搞定这个问题!先回顾下你的场景:你在Python控制台应用里使用了Textual的SelectionList,代码大概是这样的:

...
yield SelectionList[str](
    *tuple(self.selection_items),
    id="mylist"
)
...

要在.tcss里给选中项的文本修改颜色,你可以利用Textual内置的组件类名和状态伪类来精准定位。具体操作很简单,在你的.tcss文件里添加以下规则就行:

/* 匹配所有SelectionList的选中项文本 */
SelectionList > .selection-list-item:selected .selection-list-item__label {
    color: #ff4500; /* 替换成你想要的颜色,这里是橙红色示例 */
}

/* 只针对id为mylist的SelectionList(更精准) */
#mylist > .selection-list-item:selected .selection-list-item__label {
    color: #2ecc71; /* 这里是绿色示例 */
}

给你拆解下这段TCSS的逻辑:

  • SelectionList 是组件类型选择器,用来定位所有SelectionList组件;#mylist则是通过你设置的id精准定位特定组件
  • .selection-list-item 是每个选项的容器元素类名
  • :selected 是状态伪类,专门匹配处于选中状态的选项
  • .selection-list-item__label 就是选项里负责显示文本的元素类名

把这些组合起来,就能准确选中所有选中项的文本,然后自定义它的颜色啦!

备注:内容来源于stack exchange,提问作者Robin Macharg

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.13 16:43:14