2016-01-20 78 views
0

當我在curses,python中使用window.delch(y,x)時,刪除將發生在屏幕上,而不是虛擬屏幕,即該字符將被刪除,甚至如果我不叫window.refresh()。爲什麼會這樣,我如何才能在虛擬屏幕上刪除角色?window.delch()虛擬屏幕

回答

0

如果您可以提供一些示例代碼來重現您的問題,那將會有所幫助。據我所知,windows的行爲是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