【问题标题】:Python curses blink function doesn't work in gnome-terminalPython 诅咒闪烁功能在 gnome-terminal 中不起作用
【发布时间】:2017-09-30 03:44:51
【问题描述】:

我正在使用 python curses 库。我正在尝试使用此代码win.addstr(6, 4, "*", curses.A_BLINK) 使星号闪烁,但是它在 gnome 终端上不起作用。我尝试在 xterm 上使用它,它可以工作。它也不适用于恢复外壳。如何使用 curses 库或其他方法使文本闪烁?

【问题讨论】:

  • gnome-terminal 从 3.28 版本开始支持闪烁文本。

标签: python ncurses curses


【解决方案1】:

可以制作一个程序(无论是诅咒还是硬编码),在屏幕上绘制文本并用空白覆盖它,并有适当的时间延迟(如果太短,它会惹恼人们 - that 的例子见 PuTTY)。

缺点是只要程序运行它就会“闪烁”,当然有点复杂。

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

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

对于 curses 应用程序 - 您可以通过替换文本使其“闪烁”,以类似的方式。值得一提的是,ncurses-examples 中的 xmas 示例结合了窗口复制和终端闪烁来实现动画效果(参见 C blinkit 函数和 Python translation)。

【讨论】:

    猜你喜欢
    • 2014-09-17
    • 1970-01-01
    • 2013-11-06
    • 1970-01-01
    • 2014-04-23
    • 2012-04-08
    • 2010-09-24
    • 1970-01-01
    • 2013-11-22
    相关资源
    最近更新 更多