python - 是否可以在 python 中使用 curses 获取默认背景颜色?

标签 python colors curses

在 python 中使用 curses,您可以轻松地使用终端的默认配色方案:

curses.use_default_colors()

然而,一旦您尝试为任何字符重新着色,您必须使用颜色对声明背景颜色:

curses.init_pair(1, curses.COLOR_RED, curses.COLOR_BLACK)

我真的不想更改默认背景,但我想更改前景。

有没有办法获得默认背景颜色?还是只改变前景色?

我知道我可以使用 ANSI 转义码来调整前景色,但是 ANSI 代码与 curses 不兼容,我宁愿使用 curses 而不是用 ANSI 代码重写所有内容。

最佳答案

好吧,我明白了,

如果您使用 -1 作为值调用 init_pair,它将填充终端默认值。例如,使用默认背景制作红色文本:

curses.init_pair(1, curses.COLOR_RED, -1)

现在 curses.color_pair(1) 将被设置为背景。如果您在程序运行时更改终端的默认值,这甚至会起作用。

您必须先调用 curses.use_default_colors() 才能使用它。

关于python - 是否可以在 python 中使用 curses 获取默认背景颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44014715/

相关文章:

r - 为绘图中的标题部分着色

c# - Unity3D : Change skybox color via script?

c# - 重新着色 TabControl

python - 贪吃蛇游戏 - 脚本出了什么问题?

python - 使用 BeautifulSoup/Python 迭代 DOM

python - 如何通过 Python 解释器 Chrome 应用程序使用 webports/naclports 中的 Python 模块?

python - 如何使用 virtualenv 在 Aptana Studio 3 上进行 PyDev 代码分析?

python - 令人困惑的并行 Python 问题 - TRANSPORT_SOCKET_TIMEOUT

c - 通过fifo将curses输入发送到C中的另一个终端

c - ACS_BLOCK 和 ACS_CKBOARD 在 nCurses 中不工作,而其余的 ACS 字符在工作