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