2017-09-30 72 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)。