诅咒:刷新一个窗口会擦除另一个窗口吗?

时间:2020-07-14 13:13:01

标签: python-3.x python-curses

我已经忍受了诅咒。我尝试用它编写的所有内容都会以某种方式失败,无论是屏幕未正确更新,用户输入全都崩溃还是addstr无缘无故失败。在我写的最新文章中,我注意到一对窗口的一些有趣行为。这是产生相同效果的示例:

import curses
import time

def main(term):
    # Window with border of 5 to edge of terminal
    win = curses.newwin(curses.LINES-10, curses.COLS-10, 5, 5)
    
    # Fill with "O", using insstr to get around the bottom-right corner problem
    for y in range(curses.LINES-10):
        win.insstr(y, 0, "O"*(curses.COLS-10))
    
    win.refresh()
    time.sleep(1)
    term.refresh()
    time.sleep(1)
    win.refresh()
    time.sleep(1)

curses.wrapper(main)

我希望发生的是:

  1. Os的矩形,周围有5个空边框
  2. 空屏幕
  3. Os的矩形

3永远不会发生。刷新term是否意味着win被删除了?如果是这样,这是否会打败Windows作为独立数据结构的观点?如果我想重新显示文本区域而不必用addstrinsstr调用来重写每一位,那该怎么办?显然,我误解了有关诅咒的一些基本知识,但是每次我想我都知道那是另一种情节扭曲出现的时候。

0 个答案:

没有答案