我不太明白curses中的颜色控制应该如何工作。考虑这个例子:
import curses
TIMEOUT = 100
HEIGHT = 80
WIDTH = 200
curses.initscr()
curses.start_color()
window = curses.newwin(HEIGHT, WIDTH, 0, 0)
window.timeout(TIMEOUT)
window.keypad(1)
curses.noecho()
curses.curs_set(0)
window.border(0)
curses.init_pair(1, curses.COLOR_RED, curses.COLOR_BLUE)
while True:
window.erase()
window.addstr(0, 0, 'line 1', curses.color_pair(1))
window.addstr(1, 0, 'line 2')
event = window.getch()
if event == ord('q'):
break
curses.endwin()
输出结果为:
line 1 << red on blue
line 2 << white on black
为什么第2行没有指定黑色背景?如果我注释掉window.addstr(0, 0, 'line 0', curses.color_pair(1))
,它就没有。