如何动态更新 ncurses 中的菜单项?
How can I dynamically update menu items in ncurses?
是否有标准方法来 add/remove 项目或更改描述等?或者我是否需要简单地取消发布,释放所有内容,然后重新分配一个新菜单并重新开始?我的菜单最多有 2000 个选项,所以我真的很想尽可能避免分配和重新分配。
这个问题实际上没有任何答案:
Creating a dynamic menu in ncurses
否 - 没有标准方法。使用 ncurses,结构成员是可见的,因此您 可以 制作 new_item
的变体,它修改了文本的指针(和长度)。
除此之外,还有(标准)set_menu_items
。快速阅读源代码表明您 可以 将菜单中的项目替换为相同的列表(在这里和那里使用不同的项目),但这会重置整个菜单状态,因此您在再次发布菜单之前必须 save/restore 这些值。
是否有标准方法来 add/remove 项目或更改描述等?或者我是否需要简单地取消发布,释放所有内容,然后重新分配一个新菜单并重新开始?我的菜单最多有 2000 个选项,所以我真的很想尽可能避免分配和重新分配。
这个问题实际上没有任何答案: Creating a dynamic menu in ncurses
否 - 没有标准方法。使用 ncurses,结构成员是可见的,因此您 可以 制作 new_item
的变体,它修改了文本的指针(和长度)。
除此之外,还有(标准)set_menu_items
。快速阅读源代码表明您 可以 将菜单中的项目替换为相同的列表(在这里和那里使用不同的项目),但这会重置整个菜单状态,因此您在再次发布菜单之前必须 save/restore 这些值。