我正在使用Python的curses-menu包,并了解在调用.show()
之前静态定义菜单时如何在菜单中生成子菜单。我正在尝试创建一个菜单项,当选中时,将动态生成所选子菜单项。换句话说,当我选择一个项时,我希望运行代码,例如,接受一些用户输入,并将每个字符串作为一个项生成类似于^{
我正在尝试的是:
# Import the necessary packages
from cursesmenu import *
from cursesmenu.items import *
def work_with_selection(selection):
print('You selected {}'.format(selection))
def build_sub():
items = []
for i in range(3):
item = input('Type an item: ')
items.append(item)
selection = SelectionMenu(items).get_selection(items)
work_with_selection(selection)
# Create the menu
menu = CursesMenu("Title", "Subtitle")
# Create some items
# Dynamically build submenu
build_item = FunctionItem("Build dynamic submenu", build_sub)
menu.append_item(build_item)
# Finally, we call show to show the menu and allow the user to interact
menu.show()
它似乎可以工作,但一旦我从子菜单中选择了退出,父菜单就会重新绘制,并且光标键停止工作。它不移动选择器,而是提供带有字母的控制字符,如左上角所示:
^{pr2}$我用的是python3。在
使用SelectionMenu
是正确的方法吗?如果是这样的话,在返回父主菜单后如何修复它?如果没有,我应该如何创建这样一个动态子菜单?在
目前没有回答
相关问题 更多 >
编程相关推荐