Python:curses和默认的黑色

时间:2013-01-25 01:58:34

标签: python python-2.7 ncurses curses

为什么这段python代码没有产生正常的black背景色?

import curses

def func(stdscr):      
    c = stdscr.getkey()
curses.wrapper(func)   

我真的不明白。我玩了很多东西(color_pairpair_numberinit_pair等等。这真的不是黑色。

我正在使用默认的ubuntu gnome-terminal。 (但是afaik没有什么区别)。

curses - not black

2 个答案:

答案 0 :(得分:4)

除非你手动指定颜色,否则curses会尊重你的终端调色板。大多数终端将使用.Xresources或.Xdefaults文件中的设置(不确定gnome-terminal)

但是,如果您想手动定义颜色。使用curses.init_color,这不适用于所有终端,有关其在python curses documentation中使用的更多信息。请记得在退出前重置颜色(curses.wrapper应该为你做这个)。

def func(stdscr):
    if curses.can_change_color():
        # init_color(n, r, g, b)
        # n=0 is background
        curses.init_color(0, 0, 0, 0)
    c = stdscr.getkey()

答案 1 :(得分:3)

gnome-terminal中有一个名为Palette的设置。它可以在`编辑个人资料 - >下找到颜色。此调色板设置仅适用于终端应用程序。

因此,同一对话框中的其他设置(前景/背景颜色)对应用程序无用。