2012-05-09 13 views
0

私はPythonのコマンドラインアプリケーションを作成しました。機能の1つは、-lスイッチでデータベースを呼び出すと、データベースから取得したアイテムのリストを出力することです。各項目には詳細な説明が関連付けられています。アイテムのリストを表示し、特定のアイテムの詳細を表示するテキストユーザーインターフェイス

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

彼はリスト内の特定の項目の説明を表示したいときに、ユーザのための直感的で快適に(コマンドラインで)TUI設計のための良好なパターンは何ですか?

今、私のアプリはかなり面倒です。項目の先頭に数字があり、説明を表示する場合は、関数getch()は、(1..9)のキーを押すのを待ち、指定されたインデックスの項目の説明を表示します。それはコマンドラインアプリケーションなので、私はマウスの位置を使用することはできません。もう1つは、説明を印刷して繰り返し削除して別の項目の説明を印刷できるようにするために、どこに最適な場所があるからですか?画面に興味のない情報が詰まっていませんか?ユーザーは特定の瞬間に彼に関心のある情報のみを表示する必要があります。

リストの長さは無制限です。間隔(0..9)は一時的な解決策です。

このTUIデザインの良い習慣は何ですか?これを手助けするいくつかのTUIライブラリを使用しますか?そうであれば、あなたが選んだライブラリを使用して、または使用せずに、いくつかの典型的なパターンを表示します。その答えで

私は、Pythonを使用しますが、同じことがで達成することができる場合には、別の命令型言語を使用すること自由に感じてるのPython

+0

説明を表示することで意味するものの例を表示できますか。 – Brady

+0

@Bradyそれはちょうど* print * funtionでテキストを印刷しています。 – xralf

答えて

2

1ありがとう)この質問https://stackoverflow.com/questions/791261/python-text-user-interfaceはしています多くの偉大な図書館は、この仕事に合っているようです。

2)有効な入力として矢印キーを提供することをお勧めします。[上のライブラリのいくつかは、これを処理できます]数字ベースのセクションのみを使用します。たとえば、NCDUツール(ncurseベースのディスク使用ツール)は、矢印キーを使用した素晴らしいテキストベースのUIを備えています。例として、これを参照してください。

関連する問題