如何使用 curses 和 Python 设置 window 背景颜色?
How do I set the window background color using curses and Python?
我的目标:使 window 背景具有特定的颜色。
我当前的代码:
import curses
def do_it(win): # Shia LeBeouf!
win.bkgd(' ', curses.COLOR_BLUE)
win.addstr(1,1, "This is not blue")
win.getch()
if __name__ == '__main__':
curses.wrapper(do_it)
我的期望是我的 window 是蓝色,并出现 "This is not blue"。相反,我得到这个 window:
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$This$is$not$blue$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
它甚至不是很蓝。
我也试过:
win.bkgd(curses.COLOR_BLUE)
- 似乎删除了所有空格(?)
win.bkgdset(' ', curses.COLOR_BLUE)
- 似乎做同样的事情
这些,还有更多,都无济于事。
那么问题来了:如何在curses中设置window的背景颜色?
显然你必须指定你的颜色,在使用它们之前使用 curses.init_pair
。然后你可以将它们与 curses.color_pair
:
一起使用
import curses
def do_it(win): # Shia LeBeouf!
curses.init_pair(1, curses.COLOR_WHITE, curses.COLOR_BLUE)
win.bkgd(' ', curses.color_pair(1) | curses.A_BOLD)
win.addstr(1,1, "This is not blue")
win.getch()
win.bkgd(' ', curses.color_pair(1) | curses.A_BOLD | curses.A_REVERSE)
win.addstr(1,1, "This is now blue")
win.getch()
if __name__ == '__main__':
curses.wrapper(do_it)
我的目标:使 window 背景具有特定的颜色。
我当前的代码:
import curses
def do_it(win): # Shia LeBeouf!
win.bkgd(' ', curses.COLOR_BLUE)
win.addstr(1,1, "This is not blue")
win.getch()
if __name__ == '__main__':
curses.wrapper(do_it)
我的期望是我的 window 是蓝色,并出现 "This is not blue"。相反,我得到这个 window:
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$This$is$not$blue$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
它甚至不是很蓝。
我也试过:
win.bkgd(curses.COLOR_BLUE)
- 似乎删除了所有空格(?)win.bkgdset(' ', curses.COLOR_BLUE)
- 似乎做同样的事情
这些,还有更多,都无济于事。
那么问题来了:如何在curses中设置window的背景颜色?
显然你必须指定你的颜色,在使用它们之前使用 curses.init_pair
。然后你可以将它们与 curses.color_pair
:
import curses
def do_it(win): # Shia LeBeouf!
curses.init_pair(1, curses.COLOR_WHITE, curses.COLOR_BLUE)
win.bkgd(' ', curses.color_pair(1) | curses.A_BOLD)
win.addstr(1,1, "This is not blue")
win.getch()
win.bkgd(' ', curses.color_pair(1) | curses.A_BOLD | curses.A_REVERSE)
win.addstr(1,1, "This is now blue")
win.getch()
if __name__ == '__main__':
curses.wrapper(do_it)