Skip to main content

Esse pacote tem como função, democratizar a criação de menu em seus fluxos de código

Project description

Menu

Este projeto é uma implementação de um menu interativo em Python, permitindo que os usuários naveguem por opções usando o teclado.

🚀 Começando

Essas instruções permitirão que você compreenda como utilizar a classe Menu para criar um menu interativo em seu aplicativo Python.

📋 Pré-requisitos

Para utilizar esta classe, você precisa do Python instalado em sua máquina, além de algumas bibliotecas:

  • tabulate: Para formatar as opções do menu em uma tabela.
  • readchar: Para capturar entradas do teclado.

🔧 Uso

  1. Importação da Classe

    Primeiro, importe a classe Menu no seu código:

    from terminal_manu.common import Menu
    
  2. Instância da Classe

    Crie uma instância da classe Menu. Você pode definir se deseja inserir o índice da opção selecionada na chamada da função e se o menu deve terminar após uma opção ser selecionada.

    menu = Menu(insert_index=True, end_with_select=True)
    
  3. Definição de Opções de Menu

    Use o decorador @menu.show() para registrar funções como opções no menu. O nome da função será o texto que aparecerá para o usuário.

    @menu.show()
    def opcao1():
        print("Você selecionou a Opção 1!")
    
    @menu.show()
    def opcao2():
        print("Você selecionou a Opção 2!")
    
  4. Início do Menu

    Para iniciar o menu, chame o método start() na instância do menu:

    menu.start()
    

    Durante a execução, os usuários poderão navegar pelas opções usando as teclas W (cima), S (baixo), A (esquerda), D (direita) e Enter para selecionar uma opção. A tecla Q é usada para sair do menu.

  5. Lista de opções

    Para utilizar o código como um seletor de opções cujos valores não são funções, pode ser usado o método 'options_selection'. A forma de uso é bem simples:

    from terminal_menu.common import Menu
    
    valor_selecionado = Menu().options_selection(['opcao1','opcao2'])
    

    A função irá retornar o valor selecionado pelo menu e irá encerrar imediatamente o menu de seleção

⚙️ Interação com o Menu

  • Navegação: Os usuários podem usar as teclas W e S para mover-se para cima e para baixo entre as opções do menu.
  • Seleção: Ao pressionar Enter, a função associada à opção selecionada será executada.
  • Sair: Pressione Q para sair do menu.

🛠️ Construído com

Mencione as ferramentas que você usou para criar seu projeto.

  • Python - A linguagem de programação usada
  • tabulate - Usada para formatar tabelas
  • readchar - Usada para ler entradas do teclado

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

terminal_menu_interface-0.1.4.tar.gz (4.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

terminal_menu_interface-0.1.4-py3-none-any.whl (4.6 kB view details)

Uploaded Python 3

File details

Details for the file terminal_menu_interface-0.1.4.tar.gz.

File metadata

  • Download URL: terminal_menu_interface-0.1.4.tar.gz
  • Upload date:
  • Size: 4.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.6

File hashes

Hashes for terminal_menu_interface-0.1.4.tar.gz
Algorithm Hash digest
SHA256 3589029917c4b42167e0b2aa8430a718abdafa80a1775d20abd772da794ea8d7
MD5 54c63689685b843299e802d7c68d73b3
BLAKE2b-256 8781b335ea8d599f743da76b1736c76a38b0d18b8ad4e3fd664df637ca14e93e

See more details on using hashes here.

File details

Details for the file terminal_menu_interface-0.1.4-py3-none-any.whl.

File metadata

File hashes

Hashes for terminal_menu_interface-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 95458af50390688f896935f7150ffa1d88525ef5c07af2dd8674207bba54a5e2
MD5 169e19122e01c9fffddf0419caad87bf
BLAKE2b-256 c530ac991a6e80b9a91841d1416698fbda96025a938151c63b36c8113583f363

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page