如何在我的 curses 程序中实现类似于 vim 的 "command line"
How to implement a "command line" similar to vim in my curses program
我是 python 的新手,想用 curses 制作一个小的待办事项列表程序。
这是我现在拥有的基本代码:
import curses
mylist = ['item1', 'item2', 'item3']
def main(stdscr):
y = 1
x = 1
for item in mylist:
stdscr.addstr(y, x, item)
y += 1
stdscr.getch()
curses.wrapper(main)
它创建一个 window 并显示 "mylist" 中的每个项目,我想扩展它以便用户可以输入一个命令,比如说,向列表中添加一个新任务并拥有屏幕更新以显示新任务,我该如何实现呢?
如果您使用 curses.echo()
和 stdscr.getstr(x, y)
,它会显示您输入的内容。
import curses
mylist = ['item1', 'item2', 'item3']
def main(stdscr):
curses.echo()
y = 1
x = 1
for item in mylist:
stdscr.addstr(y, x, item)
y += 1
new_item = stdscr.getstr(y, x)
curses.wrapper(main)
我是 python 的新手,想用 curses 制作一个小的待办事项列表程序。
这是我现在拥有的基本代码:
import curses
mylist = ['item1', 'item2', 'item3']
def main(stdscr):
y = 1
x = 1
for item in mylist:
stdscr.addstr(y, x, item)
y += 1
stdscr.getch()
curses.wrapper(main)
它创建一个 window 并显示 "mylist" 中的每个项目,我想扩展它以便用户可以输入一个命令,比如说,向列表中添加一个新任务并拥有屏幕更新以显示新任务,我该如何实现呢?
如果您使用 curses.echo()
和 stdscr.getstr(x, y)
,它会显示您输入的内容。
import curses
mylist = ['item1', 'item2', 'item3']
def main(stdscr):
curses.echo()
y = 1
x = 1
for item in mylist:
stdscr.addstr(y, x, item)
y += 1
new_item = stdscr.getstr(y, x)
curses.wrapper(main)