Python有一个curses
模块。有没有一种简单的方法可以使用这个模块来显示反向视频文本?我不想做全面的诅咒应用程序,只想让文本带反色(或彩色)。
问问题
1532 次
1 回答
1
如果您使用该filter
功能(之前initscr
),curses 应用程序只会更新屏幕的当前行(并且不会清除整个屏幕)。这将是对curses库的最小使用。
如果你想要一个较低级别的(没有优化,自己做),你将不得不使用库的terminfo级别,即这些函数:
initscr
withfilter
(因为 Python curses 显然没有与newterm的接口)tigetstr
读取sgr
,sgr0
,smso
,rmso
,的功能rev
tparm
格式化参数,sgr
如果你使用它putp
写入通过tigetstr
和读取/格式化的字符串tparm
Python curses.tigetstr 示例页面有一些(大部分不完整)使用 的示例tigetstr
,并提醒我您可以setupterm
使用newterm
. 如果您访问该页面搜索“curses.filter”,它会断言有其使用示例,但阅读后,我没有发现任何可报告的内容。
进一步阅读:
- 使用 python 在命令行上按你输入完成(显示
filter
在使用中)
带有反向视频的演示:
import curses
curses.filter()
stdscr = curses.initscr()
stdscr.addstr("normal-")
stdscr.addstr("Hello world!", curses.A_REVERSE)
stdscr.addstr("-normal")
stdscr.refresh()
curses.endwin()
print
或者
import curses
curses.setupterm()
curses.putp("normal-")
curses.putp(curses.tigetstr("rev"))
curses.putp("Hello world!")
curses.putp(curses.tigetstr("sgr0"))
curses.putp("-normal")
说明了一点:用写的文本curses.putp
绕过了curses库优化。您将使用initscr
或newterm
使用 curses 屏幕优化,但setupterm
不使用它,只需使用低级功能和输出功能。
于 2016-02-07T23:28:29.677 回答