一个简单的库,用于处理python控制台应用程序的菜单。

python-console-menu的Python项目详细描述


python控制台菜单

license

这个库提供了一种快速创建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)这可用于隐藏菜单项。
菜单项

这是用于定义系统中菜单项的类。 它有两个构造函数,一个用于项是子菜单,另一个用于项是操作。 应该这样调用它们: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

在demo/menu_demo.py中查看库的更好示例实现。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
在Java中使用Kotlin值类   在Hadoop中表示大文本块作为键的java   java安卓工作室;布局设计视图;   字典Java确定字符串是否以映射中的键开头   JavaG1:混合gc和完全gc之间有什么区别?   java Camunda升级组织。阿帕奇。平民语言错误   java Scanner类具有NextLine无限循环   安卓 GCM Java服务器:发送带有重音字符的消息   java我正在构建一个兴趣计算应用程序,我的项目构建良好,有1个警告,但它不会在我的设备上打开   java在Tilera TileGX上构建OpenJDK 8   GUI中的java惰性初始化与急切初始化   java JodaTime四舍五入到最近的一刻钟   java如何限制菜单。SpringRoo中的jspx可以避免对其他用户的实体执行CRUD操作   java我应该将缓冲流链接到输入流,还是在将声音库作为嵌入式资源加载时使用URL类?