2

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

import curses

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

我真的不明白。我玩了很多东西(color_pair,,,pair_numberinit_pair)。这真的不黑。

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

诅咒——不是黑色的

4

2 回答 2

4

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

但是,如果您想手动定义颜色。使用 curses.init_color,这不适用于所有终端,有关其用法的更多信息请参见python curses 文档。请记住在退出之前重置颜色(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()
于 2013-01-26T22:15:34.687 回答
3

里面有gnome-terminal一个叫Palette. 它可以在`Edit Profile -> Colors 下找到。此调色板设置仅适用于终端应用程序。

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

于 2013-01-25T02:51:17.087 回答