【问题标题】:How to implement a "command line" similar to vim in my curses program如何在我的 curses 程序中实现类似于 vim 的“命令行”
【发布时间】:2020-05-18 08:15:02
【问题描述】:

我是 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)

它创建一个窗口并显示“mylist”中的每个项目,我想扩展它,以便用户可以输入命令,例如,将新任务添加到列表并更新屏幕以显示新任务,我怎样才能实现这一目标?

【问题讨论】:

    标签: python python-3.x ncurses curses


    【解决方案1】:

    如果您使用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)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多