Manual

do

Maker

.

com

Introdução ao Dialog com Python

Introdução ao Dialog com Python

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:

pydialog1.webp

Ao apertar o último enter, o resultado deve ser algo como:

pydialog2-300x220.webp

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:

pydialog3-300x185.webp

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:

pydialog4-300x227.webp

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:

pydialog5-300x172.webp

Não tem segredo, é só começar a brincar no bpython para dominar! Tem treeview,, inputmenumixedgauge, seletor de diretórios e muito mais, como pode ser visto nesses screenshots.

Divirta-se!

 

Inscreva-se no nosso canal Manual do Maker no YouTube.

Também estamos no Instagram.  

Nome do Autor

Djames Suhanko

Autor do blog "Do bit Ao Byte / Manual do Maker".

Viciado em embarcados desde 2006.
LinuxUser 158.760, desde 1997.