ncurses和白底黑人

时间:2010-07-08 06:17:38

标签: python ncurses curses

在彩色模式下,我似乎无法在诅咒中工作。如果我不打电话给start_color,我就会变黑了。一旦我打电话给start_color,事情就开始以灰色黑色输出。

如果您运行此脚本:

import sys

for i in xrange(30, 38):
    print '\x1b[0;' + str(i) + 'm' + str(i) + ': Shiny colors \x1b[1m(bright)'
print '\x1b[0m...and this is normal.'

......你可能会看到很多漂亮的颜色。我想要但不能得到的是最后一句话:“......这是正常的。”要求颜色对0或要求COLOR_WHITE,COLOR_BLACK从脚本中获取非明亮的#37。

作为参考,这是我在Gnome Terminal中看到的:

http://rpi.edu/~wellir/random/colors.png

我正在用Python编程(使用curses库),所以我的代码类似于:

import curses

screen = curses.initscr()
curses.start_color()
curses.init_pair(1, curses.COLOR_WHITE, curses.COLOR_BLACK)
screen.clear()
screen.attrset(0)
screen.addstr('Hello')
screen.attrset(curses.A_BOLD)
screen.addstr('Hello')
screen.attrset(curses.color_pair(1))
screen.addstr('Hello')
screen.refresh()
curses.napms(5000)
curses.endwin()

......让我37,37-亮,37。

3 个答案:

答案 0 :(得分:5)

curses.use_default_colors()

答案 1 :(得分:1)

您的gnome终端可能有自己的配色方案,将默认白色的颜色更改为亮白色,但在curses模式下除外。检查gnome-terminal是否会改变颜色,因为这会使测试颜色变得困难。

答案 2 :(得分:0)

我也在gnome终端上遇到同样的问题。

我设法解决了这个问题:

右键点击屏幕>个人资料>个人资料首选项>颜色>调色板

我认为这是8种颜色中的每一种都会映射到的。

由于某种原因,选择的内置方案Default将第一种颜色映射为灰色而不是黑色!

将方案更改为XTerm,或将第一种颜色更改为黑色解决了我的问题。

我没有使用curses.use_default_colors