我正在使用 python-prompt-toolkit 在 Python 中构建一个音乐播放器。我想改变聚焦按钮的颜色,但我不太明白。为了实现这一点,我尝试查看 buttons.py .
在其 GitHub 上给出的示例中,给出的颜色是红色,但是当我将其更改为绿色时,它不会改变,即保持红色。任何帮助,将不胜感激。
style = Style(
[
("left-pane", "bg:#888800 #000000"),
("right-pane", "bg:#00aa00 #000000"),
("button", "#000000"),
("button-arrow", "#000000"),
("button focused", "bg:green"),
("text-area focused", "bg:#ff0000"),
]
)
问题在于按钮本身的背景颜色。你正确地设置了聚焦按钮的样式,但是当按钮未聚焦时,默认的黑色背景 ("button": "#000000") 会覆盖绿色。
为了解决这个问题,你需要在 button 样式中也设置背景颜色。你可以选择与聚焦颜色相同,或者选择其他颜色来区分聚焦和未聚焦状态。
以下代码将未聚焦按钮的背景颜色也设置为绿色:
style = Style(
[
("left-pane", "bg:#888800 #000000"),
("right-pane", "bg:#00aa00 #000000"),
("button", "bg:green #000000"), # 设置按钮默认背景颜色为绿色
("button-arrow", "#000000"),
("button focused", "bg:green"),
("text-area focused", "bg:#ff0000"),
]
)
如果你希望未聚焦按钮有不同的颜色,只需将 "bg:green" 替换为你想要的颜色代码。例如,如果希望未聚焦按钮为灰色,则可以使用 "bg:gray"。
总结:
- button focused 样式控制聚焦按钮的外观。
- button 样式控制未聚焦按钮的外观。
- 要使聚焦颜色可见,请确保 button 样式也设置了背景颜色。
希望这可以帮助你!
标签:python,button,python-prompt-toolkit From: 78824512