如何在命令行界面中创建一个显示良好用户界面的Linux程序?
例如,当我使用“wget”从Internet下载文件时,我可以在命令行界面中看到下载进度。我怎样才能做到这一点?
答案 0 :(得分:15)
ncurses是一个很受欢迎的选项,有许多编程语言的API。
答案 1 :(得分:12)
看看curses。它是基于文本的UI的库。
答案 2 :(得分:10)
答案 3 :(得分:4)
答案 4 :(得分:1)
我不会将wget的进度报告称为“漂亮的gui”,但无论如何,用于构建没有X Windows的图形界面的经典库是Linux和UNIX系统ncurses。
最近已经启动了一个C#版本的ncurses,请查看详细信息here
答案 5 :(得分:1)
如果您只需要一个进度条,可以直接使用简单的print
(打印栏),然后是回车符(ANSI字符#13) ,它让你回到行的开头。然后可以通过在其上打印来更新该行。
对于更复杂的需求,ncurses
确实是标准的方法。
答案 6 :(得分:0)
如果您使用的是Mono,则可以使用MonoCurses
答案 7 :(得分:0)
尝试使用curses,它是一个记录良好的基于文本的UI的API。此外,还有很多开源项目使用curses来查看和学习
答案 8 :(得分:0)
wget没有真正的GUI,我看到的是你可以使用stdout和echos实现的东西(例如printf()或std :: cout)
无论如何,对于MessageBox类的简单对话框,但不仅限于此,还要看一下对话框
答案 9 :(得分:0)
您可以使用ANSI转义码。 bash中的一个简单例子
echo -e "\033[H\033[2J \033[20;20H \033[4mThis is a underlined line.\033[0m"