有没有办法在同一终端上使用curse创建单独的显示和输入?
我想写一个命令行程序,界面看起来像这样:
------------
| |
| A |
|__________|
|_____B____|
A 是一个独立的进程,它会循环运行并显示实时事件的列表。它会自动刷新。
B 是一个命令提示符,固定在底部,并且有命令历史记录。
我知道一些命令行的IRC程序可以做到这一点,所以这应该是可行的。
如果你能给我一个使用Python绑定的代码片段,那就更好了。
我知道有个帖子提到过这个,但我对文档有点迷茫。
3 个回答
0
为了后代参考,这里有一个很棒的架构实现,使用了urwid(一个ncurses的封装库)来编写:http://zderadicka.eu/terminal-interfaces-in-python/#comment-123799
把它改造成一个聊天客户端需要做一些调整,但用管道来实现其实很简单。作者的代码可以在github上找到:https://github.com/izderadicka/xmpp-tester/blob/master/commander.py
0
你可以看看/Demo/curses/
这个目录,它是Python源代码的一部分。里面有几个很有意思的例子,都是用curses模块写的,你可以从中学到很多东西,甚至更多。
2
最后我尝试用urwid来实现这个功能,urwid的层次比ncurse高得多。
我在StackOverflow上问了这个问题,但没有得到更多的结果。
不过,最后我找到了一些开源软件,它们正好实现了我想要的功能。我使用了它的源代码,做出了一个可以用的东西。你可以在相关问题中找到答案。