0

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

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

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

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

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

此 TUI 设计的最佳实践是什么?你会使用一些 TUI 库来帮助解决这个问题吗?如果是这样,请展示一些典型的模式,无论是否使用您选择的库。

我正在使用Python,但如果可以在Python中实现相同的功能,请随意使用另一种命令式语言

谢谢

4

1 回答 1

2

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

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

于 2012-05-09T09:26:31.200 回答