例如,我在第一行有一个字符串“Hello world”。 如何将其移至第二行?
ps:我知道我可以使用这样的代码:
import curses
stdscr = initscr()
stdscr.adstr(x,y,"Hello World")
y += 1
stdscr.erase()
stdscr.adstr(x,y,"Hello World")
stdscr.getch()
但是我在这个“Hello World”下面有很多上下文,我想找到一种只移动或删除“Hello World”的方法。我该怎么办?
答案 0 :(得分:1)
如果文本只占用一行,您可以使用clrtoeol
函数从光标开始擦除整行:
curses.setsyx(y, 0) # beginning of the correct line
# stdscr.move(y, 0) # alternative
stdscr.clrtoeol() # clears the current line
或者,您可以使用hline
函数插入整行空格:
stdscr.hline(y, 0, ord(' '), 80) # where 80 is the width of the screen
答案 1 :(得分:0)
import curses
import curses.panel
x = 3
y = 3
stdscr = curses.initscr()
w = curses.newwin(1, 20, y, x)
p = curses.panel.new_panel(w)
w.addstr(0, 0, "Hello World")
w.getch()
p.move(y+1, x)
curses.panel.update_panels()
curses.doupdate()
w.getch()
curses.endwin()
BTW,addstr
的参数为y, x, str
,而不是x, y, str
。
请参阅Demo