gpt4 book ai didi

python - 如何删除python中的诅咒窗口并恢复背景窗口?

转载 作者:行者123 更新时间:2023-11-28 20:54:08 25 4
gpt4 key购买 nike

我正在研究 python curses,我有一个带有 initscr() 的初始窗口。然后我创建了几个新的窗口来重叠它,我想知道我是否可以删除这些窗口并恢复标准屏幕而不必重新填充它。有办法吗?谁能告诉我窗口、子窗口、pad 和 sub pad 之间的区别。

我有这个代码:

stdscr = curses.initscr()
####Then I fill it with random letters
stdscr.refresh()
newwin=curses.newwin(10,20,5,5)
newwin.touchwin()
newwin.refresh()

####I want to delete newwin here so that if I write stdscr.refresh() newwin won't appear

stdscr.touchwin()
stdscr.refresh()

####And here it should appear as if no window was created.

最佳答案

例如,这应该有效:

import curses

def fillwin(w, c):
y, x = w.getmaxyx()
s = c * (x - 1)
for l in range(y):
w.addstr(l, 0, s)

def main(stdscr):
fillwin(stdscr, 'S')
stdscr.refresh()
stdscr.getch()

newwin=curses.newwin(10,20,5,5)
fillwin(newwin, 'w')
newwin.touchwin()
newwin.refresh()
newwin.getch()
del newwin

stdscr.touchwin()
stdscr.refresh()
stdscr.getch()

curses.wrapper(main)

这会用'S'填充终端;在任何击键时,它都会用“w”填充窗口;在下一次击键时,它会删除窗口并再次显示 stdscr,所以它又是全“S”;在下一次击键时,脚本结束,终端恢复正常。这不是为你工作吗?或者你真的想要不同的东西......?

关于python - 如何删除python中的诅咒窗口并恢复背景窗口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2575409/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com