【发布时间】:2016-02-15 03:08:24
【问题描述】:
【问题讨论】:
【问题讨论】:
简短的回答:你不能这样做。
Long:curses 应用程序是清除屏幕的全屏程序,以便它们知道屏幕上的内容(因此 curses 库可以优化它的输出:使用最少的工作量)。
您可以编写一个使用自己的规则的低级应用程序,例如,使用 terminfo/termcap 接口。即使您将它与 ncurses 库链接,这不会使其成为 curses 应用程序,而是 terminfo(首选)或 termcap(长期弃用)应用程序。请参阅 ncurses 常见问题解答Types of library users。
要为所示示例创建一个 terminfo 应用程序,您的应用程序将(临时,可能还有其他事情要做):
setupterm初始化终端(实际上是应用程序到终端数据库的连接)。根据终端的能力,可能需要不同的方案(终端能力的不同组合)来清屏、绘制对话框等。
在绘制对话框时,您将无法使用任何高级 curses 调用。 python 文档并没有真正概述低级调用。要查看这一点,请阅读ncurses documentation。
有些人可能会提出替代方案(我不会),但由于终端功能,它们具有相同的限制。
【讨论】:
Curses 不是为此而设计的。您应该使用 perl tk 或类似的 GUI 模块。它相当容易使用,并且比诅咒更强大。
【讨论】: