我使用这样的东西:screen.addstr(text,color_pair(1)| A_BOLD),但它似乎不起作用..但是,A_REVERSE和所有其他属性确实有效!
事实上,我正在尝试用白色打印一些东西,但是COLOR_WHITE将它打印成灰色..经过一段时间的搜索,似乎将它打印成灰色+ BOLD就可以了!
任何帮助将不胜感激.
这是一个示例代码(Python 2.6,Linux):
#!/usr/bin/env python from itertools import cycle import curses, contextlib, time @contextlib.contextmanager def curses_screen(): """Contextmanager's version of curses.wrapper().""" try: stdscr=curses.initscr() curses.noecho() curses.cbreak() stdscr.keypad(1) try: curses.start_color() except: pass yield stdscr finally: stdscr.keypad(0) curses.echo() curses.nocbreak() curses.endwin() if __name__=="__main__": with curses_screen() as stdscr: c = curses.A_BOLD if curses.has_colors(): curses.init_pair(1, curses.COLOR_GREEN, curses.COLOR_BLACK) c |= curses.color_pair(1) curses.curs_set(0) # make cursor invisible y, x = stdscr.getmaxyx() for col in cycle((c, curses.A_BOLD)): stdscr.erase() stdscr.addstr(y//2, x//2, 'abc', col) stdscr.refresh() time.sleep(1)
一切似乎都在起作用.