一个简单的库,用于处理python控制台应用程序的菜单。
python-console-menu的Python项目详细描述
python控制台菜单
这个库提供了一种快速创建python控制台应用程序菜单的方法。
概述
课程
摘要菜单
这是您需要在菜单中扩展的抽象类。 它的构造函数接受一个显示在菜单顶部的标题。这应该从实现的构造函数中调用。喜欢这样:
class MenuImplementation(AbstractMenu): def __init__(self): super().__init__("Menu Title")
方法
initialise()
这需要在实现中重写,并且是将项添加到菜单的位置。display()
这将启动此菜单。这只需要在系统的根菜单上调用,因为所有子菜单都由这个库处理。add_menu_item(MenuItem(id, description, subMenu or action))
这将向菜单添加一个项。add_hidden_menu_item(new MenuItem(id, description, subMenu or action))
这是一个助手方法,它添加一个菜单项,然后将其隐藏。update_menu_items()
这可以在每个菜单中重写,以便根据对应用程序的更改更新项,例如,如果现在需要,显示隐藏的菜单项。show_menu_item(id)
这可以用来显示隐藏的菜单项,通常在上面的方法中。这将使用给定给菜单项的唯一ID。hide_menu_item(id)
这可用于隐藏菜单项。
菜单项
initialise()
这需要在实现中重写,并且是将项添加到菜单的位置。display()
这将启动此菜单。这只需要在系统的根菜单上调用,因为所有子菜单都由这个库处理。add_menu_item(MenuItem(id, description, subMenu or action))
这将向菜单添加一个项。add_hidden_menu_item(new MenuItem(id, description, subMenu or action))
这是一个助手方法,它添加一个菜单项,然后将其隐藏。update_menu_items()
这可以在每个菜单中重写,以便根据对应用程序的更改更新项,例如,如果现在需要,显示隐藏的菜单项。show_menu_item(id)
这可以用来显示隐藏的菜单项,通常在上面的方法中。这将使用给定给菜单项的唯一ID。hide_menu_item(id)
这可用于隐藏菜单项。这是用于定义系统中菜单项的类。
它有两个构造函数,一个用于项是子菜单,另一个用于项是操作。
应该这样调用它们:MenuItem(id, description, subMenu or action)
方法
hide()
用于菜单项,以从列表中隐藏它们。show()
用于隐藏菜单项,以在列表中显示它们。 {{CD11}},它用于将菜单项设置为菜单的退出选项,或者转到父菜单,或退出应用程序。
示例
菜单初始化
mainMenu = MainMenu()
mainMenu.display()
主菜单类
class MainMenu(AbstractMenu):
def __init__(self):
super().__init__("Welcome to the main menu")
def initialise(self):
self.add_menu_item(MenuItem(100, "Exit menu").set_as_exit_option())
self.add_menu_item(MenuItem(101, "Print Hello World", lambda: print("Hello World!")))
输出
Welcome to the main menu
0. Exit menu
1. Print Hello World
Select option: 1
Hello World!
Welcome to the main menu
0. Exit menu
1. Print Hello World
Select option: 0
Process finished with exit code 0
hide()
用于菜单项,以从列表中隐藏它们。show()
用于隐藏菜单项,以在列表中显示它们。mainMenu = MainMenu() mainMenu.display()
主菜单类
class MainMenu(AbstractMenu):
def __init__(self):
super().__init__("Welcome to the main menu")
def initialise(self):
self.add_menu_item(MenuItem(100, "Exit menu").set_as_exit_option())
self.add_menu_item(MenuItem(101, "Print Hello World", lambda: print("Hello World!")))
输出
Welcome to the main menu
0. Exit menu
1. Print Hello World
Select option: 1
Hello World!
Welcome to the main menu
0. Exit menu
1. Print Hello World
Select option: 0
Process finished with exit code 0
在demo/menu_demo.py中查看库的更好示例实现。