2017-01-09 10 views
-1

는()python curses에서 입력 문자열의 유무에 관계없이 하위 창을 이스케이프 처리하려면 어떻게해야합니까? I는 scr.subwin을 사용하여 서브 - 윈도우를 그리면 파이썬 커스에서

search_box = screen.subwin(3, 30, 20, 30) 
search_box.clear() 
search_box.box() 
search_box.addstr(1, 1, "GoTo:") 
search_box.refresh() 
curses.echo() 
new_x = int(search_box.getstr(1, 6, 20)) 
search_box.clear() 

아래와 같이 getstr() 함수를 사용하여 입력을 행 및 I는 입력을 제공하지 않기로 결정. 새 하위 창에서 어떻게 벗어날 수 있습니까?

감사

답변

0

나는

search_box = screen.subwin(3, 30, 20, 30) 
search_box.clear() 
search_box.box() 
in_str = "GoTo:" 
val_str = "" 
search_box.addstr(1, 1, in_str) 
search_box.refresh() 
curses.echo() 
char = search_box.getch() 
try: 
    int(chr(char)) 
    val_str += chr(char) 
except: 
    pass 

while char != 27: # Escape Key Value 
    if char == 10: # Enter Key Value 
     new_x = int(val_str) 
     break 
    else: 
     search_box.clear() 
     search_box.box() 
     search_box.addstr(1, 1, in_str+val_str) 
     search_box.refresh() 
     char = search_box.getch() 
     try: 
      int(chr(char)) 
      val_str += chr(char) 
     except: 
      if char == 127: 
       if len(val_str) > 0: 
        val_str = val_str[:-1] 
을 다음과 같은 내 문제를 해결 한