0
我使用Windows上從這裏詛咒:http://www.lfd.uci.edu/~gohlke/pythonlibs/#curses使用32位打造的Python 3.4無法改變顏色的詛咒在Windows
它一直工作得很好,到目前爲止,除了顏色。它報告它可以改變顏色,但是當試圖改變顏色時,什麼都不會發生。這是Windows的詛咒限制還是我的代碼問題?
import curses
def main(stdscr):
curses.start_color()
stdscr.addstr("Can Change Color? %s\n" % str(curses.can_change_color()))
for i in range(0, curses.COLORS):
curses.init_color(i, 1000, 0, 0)
curses.init_pair(i + 1, i, 0)
try:
for i in range(0, 255):
stdscr.addstr(str(i), curses.color_pair(i))
except curses.ERR:
pass
stdscr.getch()
curses.wrapper(main)
在這方面,它報告說,它可以改變顏色,而是試圖設置每一種顏色爲紅色(作爲測試)時,他們都留默認值。
您是否試圖替換'pass'以便它打印一些異常信息?可能'curses'在嘗試使用顏色寫入時出錯,並且您正在隱藏它(在這種情況下,它可能是底層C庫或終端本身的限制) – Bakuriu 2014-10-19 16:26:45
@Bakuriu沒有例外,我認爲這是一個限制的PDCurses。不知道爲什麼它返回它可以改變顏色ho wever。 理想情況下,我想更改鏈接的curses使用到SDL版本的PDCurses版本,但我不知道如何甚至使用PDCurses。 – Hogofwar 2014-10-19 19:25:21
用於Win32控制檯的PDCurses確實可以更改顏色,但該方法在更新版本的Windows上明顯打破。至於SDL版本,如果您碰巧使用Win32控制檯版本的DLL版本,那麼這是一種直接替換。它只是使用SDL而不是控制檯調用呈現文本。 – 2014-10-20 04:22:01