我似乎無法在彩色模式下得到白底黑字在curses中工作。如果我不打電話給start_color
,我會變成白底黑字。一旦我打電話給start_color
,事情就開始以灰黑色的方式輸出。ncurses和白底黑
如果您運行此腳本:
import sys
for i in xrange(30, 38):
print '\x1b[0;' + str(i) + 'm' + str(i) + ': Shiny colors \x1b[1m(bright)'
print '\x1b[0m...and this is normal.'
...你可能會看到很多漂亮的顏色。最後一行是我想要的,但不能得到的:'...這是正常的。'要求顏色對0或要求COLOR_WHITE,COLOR_BLACK從腳本中獲得不明亮的#37。
以供參考,這是我在Gnome終端看到:
http://rpi.edu/~wellir/random/colors.png
我(用詛咒庫)在Python編程,所以我的代碼是一樣的東西:
import curses
screen = curses.initscr()
curses.start_color()
curses.init_pair(1, curses.COLOR_WHITE, curses.COLOR_BLACK)
screen.clear()
screen.attrset(0)
screen.addstr('Hello')
screen.attrset(curses.A_BOLD)
screen.addstr('Hello')
screen.attrset(curses.color_pair(1))
screen.addstr('Hello')
screen.refresh()
curses.napms(5000)
curses.endwin()
...這讓我37,37,明亮,37
這將使測試更容易,看起來似乎。我想輸出那個「正常」的文本:如果Gnome用顏色區分它,那會讓測試更容易。 – Thanatos 2010-07-09 05:42:42
幾乎可以肯定的是,使用use_default_colors()不會解決上述問題,並且終端的顏色配置文件更有可能將白/黑/等映射爲非正常值,如本答案中所述!謝謝! – Doug 2012-01-22 13:43:57
我使用不同配色方案的gnome-terminal,並且'use_default_colors()'**確實**解決了我的問題 – mattgately 2013-12-19 17:00:36