代码之家  ›  专栏  ›  技术社区  ›  Thanatos

黑底白字

  •  7
  • Thanatos  · 技术社区  · 14 年前

    在彩色模式下,我似乎无法让黑底白字在诅咒中工作。如果我不打电话 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或要求颜色“白色,黑色”让我从剧本中得到非明亮的37。

    作为参考,这是我在GNOME终端看到的:

    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 回复  |  直到 11 年前
        1
  •  4
  •   Thanatos    14 年前

    curses.use_default_colors()

        2
  •  1
  •   Sjoerd    14 年前

    您的GNOME终端可能有自己的颜色方案,它将默认白色的颜色更改为亮白色,除非处于诅咒模式。检查GNOME终端是否不会改变颜色,因为这会使测试颜色变得困难。

        3
  •  0
  •   Ciro Santilli OurBigBook.com    11 年前

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

    我设法用以下方法解决了它:

    右键单击屏幕>配置文件>配置文件首选项>颜色>调色板

    我想这就是8种颜色中的每一种所对应的颜色。

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

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

    我不在用 curses.use_default_colors .