No artigo anterior relacionado vimos como criar um menu para interagir com o usuário e/ou para agilizar nossa interação com o sistema. Bem, mostrei o uso do Dialog com shell script e nesse artigo farei uma introdução ao Dialog com Python.
Dialog com Python
Em shell script o Dialog é um programa independente. Em Python o Dialog é uma biblioteca a ser importada dentro do programa. Para instalá-la, deve-se escolher a versão (Python 2 ou Python3):
sudo apt-get install python3-dialog
Aproveite para instalar o bpython, um programa para escrever código Python “in flow”, que permite ver o resultado enquanto se está programando, além de ter auto-complete e informações dos recursos utilizados.
apt-get install python-pip #python2 pip install bpython
Nos exemplos estou utilizando Python2, mas deve ser exatamente o mesmo para a versão 3.
Abra um terminal e digite:
bpython
Comece incluindo a biblioteca Dialog e o locale. Instancie e execute a primeira janela:
Ao apertar o último enter, o resultado deve ser algo como:
A comparação da flag de retorno pode ser dialogo.OK ou Dialog.Ok, além de “ok”. Considerando isso, vamos criar um checklist:
from dialog import Dialog import locale import time import sys locale.setlocale(locale.LC_ALL,'') dialogo = Dialog(dialog="dialog") if dialogo.yesno("Seguir?") == dialogo.OK: dialogo.infobox("seguindo...") time.sleep(1) code, tags = dialogo.checklist("Arquiteturas preferidas:", choices=[("PIC", "", False), ("Atmel","",False), ("ESP32","",True)], title="Que tal essas opcoes?", backtitle="...e agora...") if not code == dialogo.OK: sys.exit(0) dialogo.infobox("ok. Tchau.")
A última janela deve resultar em algo como:
A variável tags é uma lista dos itens selecionados, de modo que para saber as opções escolhidas é só consultar a lista.
if 'ESP32' in tags: dialogo.msgbox("Excelente escolha")
Colocando isso após confirmar que o último status foi ok, deve resultar em algo como:
Mas usar Dialog com Python é praticamente o mesmo que utilizar com shell script. Desse modo, basta ler a documentação para saber as opções. Quanto aos parâmetros, o próprio bpython lhe auxiliará. Além das tradicionais chamadas do Dialog em shell, a versão para Python oferece montes de recursos a mais, como por exemplo:
dialogo.inputmenu('teste',choices=[('um','dois')])
O que resulta em um menu editável:
Não tem segredo, é só começar a brincar no bpython para dominar! Tem treeview,, inputmenu, mixedgauge, seletor de diretórios e muito mais, como pode ser visto nesses screenshots.
Divirta-se!
Comments are closed, but trackbacks and pingbacks are open.