当我在终端中执行时,sudo dpkg-reconfigure lightdm
我会看到一个简单的类似窗口的列表菜单。有没有办法在 C++ 中制作类似的东西?
这看起来像:
答案1
运行时,终端内基于文本的窗口式界面sudo dpkg-reconfigure lightdm
使用以下代码进行编码:这ncurses图书馆。因此,如果您希望您的程序提供类似的界面,您也可以使用 ncurses。
这是ncurses 项目页面。
这是一个NCURSES 编程指南。
您可以安装一些 ncurses 文档文件与ncurses-文档包裹。
这包括 ncurses 手册页,你也可以点击此处在线查看。它还包含 ncurses 库提供的所有函数的手册页(有些共享一个手册页)。这些手册页是不是目前在线手册页。
要在 Ubuntu 中使用 ncurses 构建软件,你应该获得适当的头文件包。除非你正在交叉编译,否则这将是:
对于使用传统字符串的程序,其中大多数字符由单个字节表示(例如,UTF-8), 使用libncurses5。
如果您的字符串是数组
char
(在 C 和其他基于 C 的语言中)或std::string
(在 C++ 中),这可能就是您想要的。对于需要宽字符支持的程序,使用libncursesw5。
wchar_t
如果您的字符串是数组(在 C 和其他基于 C 的语言中)或std::wstring
、std::u16string
或std::u32string
(在 C++ 中),那么您尤其需要这个。
另外,为了帮助调试你的程序,你可以还需要调试符号(用于调试器,例如数据库)为此,请安装libncurses5-dbg或者libncursesw5-dbg也。
也可以看看Launchpad 上的 Ubuntu ncurses 页面,其中包含 Ubuntu 中主要的 ncurses 包的列表以及每个当前支持的 Ubuntu 版本的版本信息。
当您使用 GCC 构建程序时(例如,使用gcc
或g++
命令),请为其提供参数-lncurses
或-lncursesw
,通常在命令的最末尾。这会将您的程序链接到 ncurses 库。例如:
g++ -Wall -g -o hello hello.cpp -lncurses
编译你好.cpp生成一个带有调试符号的可执行文件(-g
),名为你好(-o hello
),对大多数您可能需要警告的事情发出警告(-Wall
),并链接到常规(非宽字符)ncurses 库(-lncurses
)。