为什么这段 python 代码没有产生正常的black
背景颜色?
import curses
def func(stdscr):
c = stdscr.getkey()
curses.wrapper(func)
我真的不明白。我玩了很多东西(color_pair
,,,pair_number
等init_pair
)。这真的不黑。
我正在使用默认的 ubuntu gnome 终端。(但是afaik没有什么区别)。
为什么这段 python 代码没有产生正常的black
背景颜色?
import curses
def func(stdscr):
c = stdscr.getkey()
curses.wrapper(func)
我真的不明白。我玩了很多东西(color_pair
,,,pair_number
等init_pair
)。这真的不黑。
我正在使用默认的 ubuntu gnome 终端。(但是afaik没有什么区别)。
除非您手动指定颜色,否则 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()
里面有gnome-terminal
一个叫Palette
. 它可以在`Edit Profile -> Colors 下找到。此调色板设置仅适用于终端应用程序。
因此,同一对话框中的其他设置(前景色/背景色)对应用程序毫无用处。