在 ncurses 中实现退格键工作的方法是什么
What's a way to implement backspace working in field in ncurses
我正在尝试通过 ncurses 创建 tui。我有同样的问题。
有两个字段:
Name
_______
Password
_______
如何在每个字段中实现退格支持?
以及如何使用'*'来显示密码字段中的每个字符? (现在我使用 field_opts_off(field[1], O_PUBLIC);
并且它不会在密码字段中显示字符,只会移动光标)。
谢谢。
"Non-ncurses" 解决方案(仅备选):
您可以使用 dialog
程序以非常简单的方式执行此任务。只需 运行 来自 C 的一些 linux 系统命令即可实现良好的 TUI。
如果要安装,包名也是dialog
。
对于文本字段,您可以这样做:dialog --inputbox <text> <height> <width> [<init>]
对于密码字段:dialog --passwordbox <text> <height> <width> [<init>]
更多信息:http://bash.cyberciti.biz/guide/Bash_display_dialog_boxes
没有我记得的表单包的教程。然而,ncurses 测试程序(作为 ncurses-examples 单独提供)包含一个程序 demo_forms
,它通过将编辑的字段内容保持为隐藏来实现删除字段缓冲区,并在 REQ_DEL_CHAR
.
的情况下减少其长度
程序截图如下:
关于 "non-ncurses" 建议:dialog 是 一个 curses/ncurses 应用程序,对 bash
没有特别的依赖性。
我正在尝试通过 ncurses 创建 tui。我有同样的问题。 有两个字段:
Name
_______
Password
_______
如何在每个字段中实现退格支持?
以及如何使用'*'来显示密码字段中的每个字符? (现在我使用 field_opts_off(field[1], O_PUBLIC);
并且它不会在密码字段中显示字符,只会移动光标)。
谢谢。
"Non-ncurses" 解决方案(仅备选):
您可以使用 dialog
程序以非常简单的方式执行此任务。只需 运行 来自 C 的一些 linux 系统命令即可实现良好的 TUI。
如果要安装,包名也是dialog
。
对于文本字段,您可以这样做:dialog --inputbox <text> <height> <width> [<init>]
对于密码字段:dialog --passwordbox <text> <height> <width> [<init>]
更多信息:http://bash.cyberciti.biz/guide/Bash_display_dialog_boxes
没有我记得的表单包的教程。然而,ncurses 测试程序(作为 ncurses-examples 单独提供)包含一个程序 demo_forms
,它通过将编辑的字段内容保持为隐藏来实现删除字段缓冲区,并在 REQ_DEL_CHAR
.
程序截图如下:
关于 "non-ncurses" 建议:dialog 是 一个 curses/ncurses 应用程序,对 bash
没有特别的依赖性。