创建子风时模糊诅咒错误消息

2024-09-30 18:15:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个创建子窗口的简单python curses代码。但是,在运行函数的过程中窗口.subwin()失败,并显示以下消息:

这里有一个测试用例:

import curses

if __name__ == '__main__':
    curses.initscr()

    window = curses.newwin(15, 40, 7, 20)
    window.box()
    window.refresh()

    subwindow = window.subwin(5, 10, 2, 2)
    subwindow.box()
    subwindow.refresh()

    subwindow.getkey()

    curses.endwin()

生成以下输出:

^{pr2}$

有没有办法得到更具描述性的信息?在


Tags: 函数代码nameimportbox消息ifmain
1条回答
网友
1楼 · 发布于 2024-09-30 18:15:02

当无法创建子窗口(非法操作)时,可能会发生错误。这可能是因为您要求在窗口外部绘制子窗口。在

方法子窗口接收绝对坐标(相对于屏幕,而不是父窗口)。如果子窗口的坐标在窗口之外,它将失败。另一个失败的原因是:宽度或高度溢出了窗口。在

代替subwin,您可以使用derwin(派生窗口),它接收相对坐标(不太容易出错)。在

import curses

if __name__ == '__main__':
    curses.initscr()

    window = curses.newwin(15, 40, 7, 20)
    window.box()
    window.refresh()

    subwindow = window.derwin(5, 10, 2, 2)  # <- here is the change
    subwindow.box()
    subwindow.refresh()

    subwindow.getkey()

    curses.endwin()

相关问题 更多 >