【发布时间】:2021-01-21 19:03:00
【问题描述】:
问题
当我通过 windows cmd.exe 运行一个输出彩色文本的 curses 程序时,我在窗口底部看到一条无法选择的行。
如何删除它?
示例
import curses
def main(stdscr):
curses.init_pair(1, 200, 100)
stdscr.addstr("test ", curses.color_pair(1))
stdscr.refresh()
stdscr.getch()
curses.wrapper(main)
原因
问题是curses认为终端更小并调整窗口大小导致底部有这条线。
如果我这样做
curses.resize_term(10, 10)
第二条线出现在侧面并变得更大;我想这是 cmd 处理较小术语的方式
解决方案
要修复这个错误,我应该使用另一个终端或告诉用户,如果他在 Windows 上,他不应该继续使用 cmd,而是使用 PowerShell 或 Windows Terminal 之类的东西
【问题讨论】:
-
信息不足。在
cmd.exe中运行,可能是 PDCurses。前景色/背景色的合法范围可能是 16。 -
在文本输出后尝试restoring the terminal to its previous graphics mode 使用
curses.endwin()。您可能还想检查使用的颜色对是否有效
标签: python cmd curses python-curses