2016-01-20 1 views
0

Когда я использую window.delch (y, x) в curses, python, удаление будет происходить на экране, а не на виртуальном экране, то есть символ будет удален даже если я не вызываю window.refresh(). Почему это, и как я могу удалить символ только на виртуальном экране?window.delch() для виртуального экрана

ответ

0

Если вы могли бы предоставить образец кода, который воспроизводит вашу проблему, это было бы полезно. Поведение окон, насколько я могу воспроизвести, состоит в том, что delch() не будет обновлять экран до тех пор, пока не будет вызвано refresh(). См. Мой пример кода, который демонстрирует это:

import curses 
import time 

stdscr = curses.initscr() 
curses.noecho() 
curses.cbreak() 
stdscr.keypad(True) 

stdscr.addch(1, 1, ord('a')) 
time.sleep(1) 
stdscr.refresh() 
stdscr.delch(1, 1) 
time.sleep(3) 
stdscr.refresh() 
time.sleep(1) 

curses.echo() 
curses.nocbreak() 
stdscr.keypad(False) 
curses.endwin() 
+0

Я завтра добавлю пример кода, исправил проблему, но код теперь немного уродливый. – Emlingur