我似乎无法在彩色模式下得到白底黑字在curses中工作。如果我不打电话给start_color
,我会变成白底黑字。一旦我打电话给start_color
,事情就开始以灰黑色的方式输出。ncurses和白底黑
如果您运行此脚本:
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终端看到:
http://rpi.edu/~wellir/random/colors.png
我(用诅咒库)在Python编程,所以我的代码是一样的东西:
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
这将使测试更容易,看起来似乎。我想输出那个“正常”的文本:如果Gnome用颜色区分它,那会让测试更容易。 – Thanatos 2010-07-09 05:42:42
几乎可以肯定的是,使用use_default_colors()不会解决上述问题,并且终端的颜色配置文件更有可能将白/黑/等映射为非正常值,如本答案中所述!谢谢! – Doug 2012-01-22 13:43:57
我使用不同配色方案的gnome-terminal,并且'use_default_colors()'**确实**解决了我的问题 – mattgately 2013-12-19 17:00:36