Gooey: converta quase qualquer programa de linha de comando em Python em um aplicativo GUI completo
(github.com/chriskiehl)Transformando programas de console em Python em aplicativos GUI com o Gooey
- Gooey é uma ferramenta que converte programas de console em Python 3 em aplicativos GUI fáceis de usar.
- Em vez do prompt de comando, ele oferece uma GUI, tornando o programa mais fácil de usar e mais bonito.
- É útil ao criar scripts para usuários não programadores ou utilitários para tarefas como movimentação de dados.
Como o Gooey funciona
- O Gooey se conecta ao código adicionando um decorador ao método que contém a declaração
argparse. - Durante a execução, ele faz o parsing do script Python, extrai a referência a
ArgumentParsere monta a GUI. - É possível controlar com mais precisão os widgets exibidos na GUI usando
GooeyParser.
Internacionalização do Gooey
- O Gooey pode ser traduzido facilmente para vários idiomas e atualmente inclui mais de 18 traduções.
- Adicionar suporte a um novo idioma é tão simples quanto incluir pares chave/valor no diretório
gooey/languages/.
Configuração global do Gooey
- A aparência geral e a experiência de uso do Gooey podem ser personalizadas passando argumentos para o decorador.
- É possível personalizar vários componentes, como codificação, idioma, tamanho inicial e configurações de fonte.
Personalização de layout do Gooey
- O Gooey oferece um layout flexível com algumas personalizações simples.
- Ele fornece várias opções de layout, como exibir ou não a barra lateral e usar grupos de abas.
Modos de execução do Gooey
- O Gooey oferece vários modos de exibição que permitem ajustar o layout de acordo com o tipo de conteúdo e o nível de experiência do usuário.
- Com os modos avançado, básico e sem configuração, é possível oferecer uma GUI sob medida para diferentes necessidades.
Menus do Gooey
- É possível adicionar grupos e itens de menu personalizados à barra de menus do Gooey.
- Ele oferece suporte a vários tipos de opções de menu para exibir informações do programa, caixas de diálogo de mensagem, links e mais.
Validação dinâmica do Gooey
- Antes de enviar a entrada do usuário ao programa, o Gooey pode executar opcionalmente uma validação prévia para garantir que todos os argumentos passem na verificação.
Eventos de ciclo de vida e controle da UI no Gooey
- O Gooey oferece hooks de ciclo de vida que permitem realizar ações adicionais após a execução bem-sucedida ou com falha do programa e controlar o estado atual da UI.
Exibição de progresso no Gooey
- O Gooey pode atualizar o estado da barra de progresso com base em atualizações de progresso em texto.
- É possível informar o progresso ao Gooey por meio de expressões regulares e expressões de avaliação personalizadas.
Personalização de ícones do Gooey
- O Gooey oferece a capacidade de substituir os ícones padrão por imagens/ícones personalizados.
- É possível especificar um diretório de imagens personalizado por meio do argumento
image_dir.
Empacotamento do Gooey
- Empacotar o Gooey como executável é muito fácil, e você pode usar o pyinstaller para agrupar o aplicativo em um executável pronto para uso.
Opinião do GN⁺
O ponto mais importante deste texto é que o Gooey permite transformar facilmente programas de console em Python em aplicativos GUI. Isso pode tornar os programas mais amigáveis e acessíveis para usuários não programadores, permitindo que os desenvolvedores se concentrem na lógica sem se preocupar com a interface. As várias configurações e opções de personalização do Gooey oferecem uma escolha atraente para desenvolvedores e podem contribuir bastante para reduzir a barreira de entrada no desenvolvimento de GUIs.
1 comentários
Comentários no Hacker News
Explicação do desenvolvedor sobre o projeto Gooey
argparseera uma escolha sólida.argparse.argparsecontinua sendo a interface principal, mas não há muitas alternativas adequadas.Discussão sobre a relação entre Gooey e
argparseargparseserve bem para tarefas simples, mas existem muitas CLIs baseadas emClick, além de bibliotecas populares de CLI construídas sobreClick.Click; se ficar restrito apenas aargparse, a expressão "quase todos" pode não ser precisa.Links para discussões anteriores sobre o Gooey
Opinião desejando que sistemas operacionais e shells consigam executar programas melhor
Apresentação do framework Textual
Textual, que permite criar interfaces de usuário em Python com uma API simples, executadas no terminal e no navegador web.Pergunta sobre uma versão com GUI para o ffmpeg
Pergunta sobre como integrar o Gooey com ferramentas CLI que esperam entrada do usuário
Interesse em uma ferramenta que converta de GUI para CLI
Menção ao conceito Naked Objects
Curiosidade sobre se o Gooey poderia gerar apps web