最初に、私はこのライブラリを学習しているだけで、これを機能させようとしており、後の反復でクリーンアップすることを前置きさせてください。
つまり、私のコードはこのエラーをスローしています:
Traceback (most recent call last):
File "cursesDemo1.py", line 30, in <module>
box3 = maketextbox(1,40, 10,20,"foo",deco="underline",textColorpair=curses.color_pair (0),decoColorpair=curses.color_pair(1))
_curses.error: must call start_color() first
どこに電話する必要があるstart_color()
のか わかりません.Googleでこのエラーの例や修正方法を見つけることができないようです.
私はそれをどこにでも追加しようとしましたが、困惑しています。どこを見ればよいか、または例についてのガイダンスを教えてください。
ここに私の完全なコードがあります:
import curses
import time
screen = curses.initscr()
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()
box1.addstr(2, 18, "Functions")
box2.addstr(2, 18, "Processes")
screen.refresh()
box1.refresh()
box2.refresh()
box3.refresh()
for i in range(19):
toWrite = "Does this move run = %d" % i
box1.addstr(8, 9, toWrite)
box1.refresh()
time.sleep(5)
box2.addstr(8, 9, textInput)
screen.getch()
finally:
curses.endwin()