2012-05-09 68 views
0

我創建了一個Python命令行應用程序。其中一個功能是當您使用-l開關調用時,它會打印從數據庫中取出的項目列表。每個項目都有一個詳細的描述。顯示項目列表的文本用戶界面,顯示特定項目的更多信息

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

什麼是一個很好的模式來設計TUI(在命令行)要直觀和舒適時,他要顯示特定項目列表說明用戶?

現在,我的應用程序非常繁瑣。該項目以數字爲前綴,當您想查看說明時,函數getch()等待間隔(1..9)等待按鍵,並打印具有給定索引的項目的說明。我不能使用鼠標位置(這會更舒適),因爲它是命令行應用程序。另一件事是,哪裏是最適合打印說明的地方,能夠重複刪除它併爲其他項目打印說明,這樣屏幕就不會出現無趣的信息?用戶應該只顯示在特定時刻感興趣的信息。

列表的長度是無限的。間隔(0..9)是臨時解決方案。

這個TUI設計的最佳做法是什麼?你會用一些TUI庫來幫助嗎?如果是這樣,請在使用或不使用您選擇的庫的情況下顯示一些典型模式。

我使用Python的,但隨時使用另一種命令式語言的情況下,同樣可以在實現的Python

謝謝

+0

您能否通過顯示說明來展示您的意思。 – Brady

+0

@Brady它只是用* print *函數打印文本。 – xralf

回答

2

1)這個問題https://stackoverflow.com/questions/791261/python-text-user-interface在其答案有許多偉大的圖書館似乎適合這項任務。

2)我會建議提供箭頭鍵作爲有效的輸入[上面的一些庫可以處理這個] intead只有基於數字的部分。例如,NCDU工具(這是一個基於ncurse的磁盤使用工具)有一個使用箭頭鍵的優秀的基於文本的用戶界面,您可能希望參考它作爲示例。