文本用户界面,显示项目列表,显示特定项目的更多信息

时间:2012-05-09 09:13:51

标签: python design-patterns user-interface command-line tui

我创建了一个Python命令行应用程序。其中一个功能是,当您使用 -l <​​/ em>开关调用时,它会打印从数据库中获取的项目列表。每个项目都有相关的详细说明。

1: item1
2: item2
3: item3
4: item4

TUI设计(在命令行中)有什么好的模式,当用户想要显示列表中特定项目的描述时,该模式对用户来说是直观和舒适的?

现在,我的应用程序非常繁琐。该项目以数字为前缀,当您想要查看描述时,函数getch()在(1..9)区间等待按键,并打印具有给定索引的项目的描述。我不能使用鼠标位置(这会更舒服),因为它是命令行应用程序。另一件事是,哪里是最适合打印描述的地方,能够反复删除它并打印另一个项目的描述,所以屏幕上没有杂乱无趣的信息?用户应该只在特定时刻显示他感兴趣的信息。

列表的长度是无限的。区间(0..9)是临时解决方案。

这种TUI设计的优良做法是什么?你会使用一些TUI库帮助吗?如果是这样,请使用或不使用您选择的库来显示一些典型模式。

我正在使用 Python ,但如果可以在 Python 中实现相同的话,可以随意使用其他命令式语言

谢谢

1 个答案:

答案 0 :(得分:2)

1)这个问题https://stackoverflow.com/questions/791261/python-text-user-interface在答案中提到了许多适合这项任务的优秀图书馆。

2)我建议提供箭头键作为有效输入[上面的一些库可以处理这个] intead只有基于数字的部分。例如,NCDU工具(基于ncurse的磁盘使用工具)使用箭头键具有基于文本的优秀UI,您可能希望将其称为示例。