大家好我正在使用ncurses(我第一次使用cli)并且我一直收到此错误
Traceback (most recent call last):
File "cursesDemo1.py", line 5, in <module>
screen.start_color()
AttributeError: start_color
这是我的代码:
import curses
import time
screen = curses.initscr()
screen.start_color()
def maketextbox(h,w,y,x,value="",deco=None,underlineChr=curses.ACS_HLINE,textColorpair=0,decoColorpair=0):
nw = curses.newwin(h,w,y,x)
txtbox = curses.textpad.Textbox(nw)
if deco=="frame":
screen.attron(decoColorpair)
curses.textpad.rectangle(screen,y-1,x-1,y+h,x+w)
screen.attroff(decoColorpair)
elif deco=="underline":
screen.hline(y+1,x,underlineChr,w,decoColorpair)
nw.addstr(0,0,value,textColorpair)
nw.attron(textColorpair)
screen.refresh()
return txtbox
try:
screen.border(0)
box1 = curses.newwin(22, 50, 3, 5)
box1.box()
box2 = curses.newwin(22, 50, 3, 65)
box2.box()
box3 = maketextbox(1,40, 10,20,"foo",deco="underline",textColorpair=curses.color_pair (0),decoColorpair=curses.color_pair(1))
textInput = box3.edit()
当我采取start_color()时,它有更多的错误,任何人都可以建议更好的行动方案吗?感谢!!!!
答案 0 :(得分:0)
检查curses
上的手册,并确保在正确的对象上调用正确的方法。
curses.initscr()
初始化库。返回WindowObject
代表整个屏幕。
因此,curses.initscr()
返回WindowObject
,但start_color()
位于curses
模块中。你应该以这种方式初始化颜色
curses.start_color()