2015-05-15 32 views
3

如何刪除文本到行尾?如何用curses刪除文本到行尾

stdscr.addstr(5, 5, "Egestas Curabitur Phasellus magnis") 

結果屏幕:Egestas Curabitur Phasellus magnis#OK

stdscr.addstr(5, 5, "Elit metus") 

結果屏幕:Elit metusrabitur Phasellus magnis#問題

+1

在這裏使用'curses'? –

+0

看起來像[curses API](https://docs.python.org/2/library/curses.html) –

回答

3

要刪除的前重劃清楚EOL(完結的線)使用window.clrtoeol()

實施例:

import curses 

window = curses.initscr() 
window.clrtoeol() 
window.refresh() 

但是,我真的推薦使用偉大的urwid來進行任何控制檯/ TUI編程。

更新:但是Bhargav Rao是正確的;你必須調用window.refresh()明確:

因此,詛咒需要你明確告訴它重繪 窗口,使用刷新()窗口對象的方法。在實踐中, 這並不會讓咒語的編程變得更復雜。大多數 程序會進入一系列活動,然後暫停等待用戶按鍵或其他操作。您只需調用stdscr.refresh()或某個其他相關窗口的refresh()方法,即可確保屏幕在暫停前等待 等待用戶輸入,然後重新繪製屏幕。

+0

謝謝你的幫助.. –

+0

不客氣! :) –

+0

如果你正在推薦urwid,你可以考慮用curses和urwid來展示完整的例子來說明。 –

1

你需要你的代碼,第二行之前調用stdscr.refresh()。這是在documentation

所有您需要做的是確保屏幕已經停下來等待用戶輸入,通過簡單地調用stdscr.refresh()

+0

謝謝你的幫助.. –

+0

歡迎兄弟! TY。祝你有美好的一天 –

2

stdscr.addstr(5, 5, "Elit metus")之前使用stdscr.refresh()。它會起作用。

+0

謝謝你的幫助.. –

+0

不客氣。 –