2017-09-30 58 views
1

我正在使用python curses库。我正在使用此代码使星号闪烁win.addstr(6, 4, "*", curses.A_BLINK)但它在gnome终端上不起作用。我尝试在xterm上使用它,它的工作原理。它也不适用于恢复shell。如何使用curses库或其他方法使文本闪烁?Python curses blink函数在gnome-terminal中不起作用

回答

1

可以使程序(无论是用诅咒,甚至硬编码)在屏幕上绘制文本,并用空格将其覆盖,用合适的时间延迟(如果它太短,这让消费者感到厌烦—看到腻子的例如)。

缺点是它只会在程序运行的时候“闪烁”,当然这有点复杂。

作为一个shell脚本,你可以这样做:

  • 保存stty设置,
  • 变化stty设置,以防止被转换为\r\n的回车(\r)输出
  • 打印文本,以\r
  • 结尾
  • 等待一段时间,例如,当你写的文字
  • 等待一段时间
  • 循环回到第一个“打印”
  • 退出,恢复stty设置sleep 1
  • 打印空白。

对于curses应用程序 - 您可以通过以类似的方式替换文本来“闪烁”。对于它的价值,ncurses-examples中的圣诞示例将其窗口复制和终端闪烁用于其动画效果(请参阅C blinkit函数和Python translation)。