如何删除行尾的文本?

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

结果屏幕:Egestas Curabitur Phasellus magnisOK
stdscr.addstr(5, 5, "Elit metus")

结果屏幕:问题

最佳答案

要删除到EOL(行尾),请使用window.clrtoeol()
例子:

import curses

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

不过,我确实建议在任何控制台/TUI编程中使用greaturwid
更新:bhargav rao是正确的;但是,您必须显式调用window.refresh()
因此,诅咒要求你明确地告诉它重画
窗口,使用窗口对象的refresh()方法。实际上,
这并不会使编程复杂化,而且会带来很多麻烦。大多数
程序进入一系列活动,然后暂停等待
按键或用户的其他操作。你只需要
必须确保屏幕在暂停到之前已重新绘制
只需调用stdscr.refresh()或
其他相关窗口的refresh()方法。

关于python - 如何使用curses删除文本到行尾,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30258647/

10-12 16:51