2017-01-09 2 views
-1

В питоне проклятиях, если я рисую подокно с помощью scr.subwin(), чтобы получить вход с функцией getstr(), как показано нижеКак я могу избежать sub-window с или без ввода строки в python curses?

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() 

и я решил не предоставлять какой-либо вход. Как я могу избежать нового вспомогательного окна?

Благодаря

ответ

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] 
Смежные вопросы