Jump to content
Walderlan Sena

Introdução a criação interface gráfica com Shell Script e Yad

Recommended Posts

Introdução a Criação de Interface Gráfica com Shell Script e Yad 

:D

"Shell script é uma linguagem de script usada em vários sistemas operativos (operacionais), com diferentes dialetos, dependendo do interpretador de comandos utilizado. Um exemplo de interpretador de comandos é o bash, usado na grande maioria das distribuições GNU/Linux." Fonte: https://pt.wikipedia.org/wiki/Shell_script

Vamos entender o que é uma interface:

"Elemento que proporciona uma ligação física ou lógica entre dois sistemas ou partes de um sistema que não poderiam ser conectados diretamente."

E o que é Interface Gráfica?

"Interface Gráfica é um conceito da forma de interação entre o usuário do computador e um programa por meio de uma tela ou representação gráfica, visual, com desenhos, imagens, etc. Geralmente é entendido como a “tela” de um programa."

O que significa Yad ?

Yad Logo

"Yad Significa (Yet Another Dialoging program). O yad é um fork do zenity, só que muuuuuito mais incrementado." O autor do Yad é o ucraniano Victor Ananjevsky, e a página do projeto pode ser encontrada no: http://code.google.com/p/yad/

Para realizar a instalação em sistemas operacionais baseados no Debian digite:

sudo apt-get install yad

Vamo qui vamo !!!!! 9_9  

Como de costume no inicio de novas tecnologia sempre utilizamos o famoso Hello World, então vamos lá:

Abra seu terminal e digite:

yad  --center

Hello World Yad

O comando --center, se refere a centralização do seu programa no centro da sua tela.

 

Alguns comando disponíveis com suas respectivas explicações de funcionamento:

Uso:
  yad [OPÇÃO...] - Yet another dialoging program

Opções de ajuda:
  -h, --help                                    Exibe opções de ajuda
  --help-all                                   Exibe todas as opções de ajuda
  --help-general                         Mostrar opções gerais
  --help-common                       Mostrar opções comuns
  --help-calendar                       Mostrar opções de calendário
  --help-color                              Mostrar opções de seleção de cor
  --help-dnd                                 Mostrar opções de arrastar e soltar
  --help-entry                              Mostrar opções de entrada de texto
  --help-file                                  Mostrar opções de seleção de arquivos
  --help-font                                Mostrar opções de seleção de fonte
  --help-form                               Mostrar opções de formulário
  --help-html                               Mostrar opções de HTML
  --help-icons                              Mostrar opções de caixa de ícones
  --help-list                                  Mostrar opções de lista
  --help-multi-progress          Mostrar opções de múltiplas barras de progresso
  --help-notebook                     Mostrar opções de diálogo de notebook
  --help-notification                 Mostrar opções de ícone de notificação
  --help-paned                            Mostrar opções de diálogos panorâmicos
  --help-picture                          Mostrar opções de diálogo de imagem
  --help-print                              Mostrar opções de diálogo de imressão
  --help-progress                      Mostrar opções de progresso
  --help-scale                             Mostrar opções de escala
  --help-text                               Mostrar opções de texto de informação
  --help-filter                             Mostrar opções de seleção de arquivos
  --help-misc                             Mostrar opções de micelânea
  --help-gtk                                Mostra as opções do GTK+

 

E por fim você pode, desenvolver formulários sensacionais com essa ferramenta. Fica a Dica !!! 

Para mais informações sobre o desenvolvimento com Shell script e Yad, acesse:

image.thumb.png.642233e7bd187e69671aacd1d891ff87.png

 

Grande abraço ! 

  • Curtir 1

Share this post


Link to post
Share on other sites

Continuando o poste anterior, segue novas funcionalidades:

Com o Yad é possível como citado anteriormente criar formulário:

Uso:
  yad [OPÇÃO...] - Yet another dialoging program

Opções de formulário
  --form                                       Exibir caixa de diálogo tipo formulário
  --field=ROTULO[:TIPO]        Adicionar campo a formulário (veja a página de manual para a lista de tipos possíveis)
  --align=TIPO                           Defina o alinhamento dos rótulos de campo (left, center ou right)
  --columns=NUMERO           Defina o número de colunas no formulário
  --scroll                                      Fazer um formulário com rolagem
  --output-by-row                   Ordenar campos de saída das linhas
  --focus-field=NUMERO      Definir campo ofuscado

O --form indica para o Yad que posteriormente o formulário será criado. Com isso o --field propõe vários tipos de forms...

Opções de formulário
       --field = LABEL [: TYPE]
              Adicione campo para formar. O tipo pode ser H, RO, NUM, CHK, CB, CBE, CE, FL, SFL, DIR, CDIR, FN, MFL, MDIR, DT, SCL, CLR, BTN, FBTN, LBL ou TXT.
              H - tipo de campo oculto. Todos os caracteres são exibidos como o caractere invisível.
              RO - campo está em modo somente leitura.
              NUM - campo é numérico. O formato de valor inicial para este campo é VALUE [! RANGE [! STEP! [PREC]]], onde RANGE deve estar na forma MIN..MAX.
              `! ' é um separador de itens padrão. PREC é uma precisão para decimais.
              CHK - campo caixa de seleção. O valor inicial é uma constante booleana insensível a maiúsculas e minúsculas (TRUE ou FALSE).
              CB - caixa de combinação de caixa. O valor inicial é uma lista VAL1! VAL2! .... O separador é o mesmo que no campo NUM. Valor iniciado com `^ '
              ameaças como padrão para combo-box.
              CBE - campo combo-box editável. Valor inicial o mesmo que para combo-box.
              CE - entrada com conclusão. Valor inicial o mesmo que para combo-box.
              FL - botão de seleção de arquivo.
              SFL - campo para criar arquivo.
              DIR - botão de seleção de diretório.
              CDIR - campo para criar pasta.
              FN - botão de seleção de fonte. Valor inicial igual ao diálogo de fonte.
              MFL - selecione vários arquivos. O valor deste campo é uma lista de arquivos separados por item-separator.
              MDIR - selecione várias pastas. O valor deste campo é uma lista de pastas separadas por item-separator.
              DT - campo da data.
              SCL - campo de escala. Valor deste campo em um intervalo de 0..100.
              CLR - botão de seleção de cores. Os valores de saída para este campo geram da mesma maneira que para a caixa de diálogo de cores.
              BTN - botão campo. O rótulo pode estar em forma de texto em uma forma LABEL [! ICON [! TOOLTIP]] onde `! ' é um separador de itens. LABEL é um texto de
              etiqueta do botão ou gtk stock id. ICON é um ícone de botões (stock id ou nome de arquivo). O TOOLTIP é um texto opcional para a seqüência de ajuda pop-up.
              O valor inicial é um comando que está sendo executado quando o botão é clicado. Um sintoma especial% N no comando é substituído pelo valor do campo
              N. Se o comando começar com @, a saída do comando será analisada e as linhas serão iniciadas com o número e os dois pontos serão tratados como um novo
              valores de campo. Um estilo de citação para valor quando sh -c é usado - uma única cotação em torno de comando e dupla citações em torno de -c argumento
              FBTN - o mesmo que o campo do botão, mas com o alívio total de um botão.
              LBL - rótulo de texto. Se o nome do campo estiver vazio, a linha separadora horizontal será mostrada.
              TXT - entrada de texto multilinha. Este campo sempre ocupa toda a largura do formulário.

 

Então vamos criar nosso primeiro formulário !^_^

#!/bin/bash

#   Cria uma 'função' que monta e armazena o retorno do formulario
FORM=$(
    yad --center --title="Formulario de Cadastro"                   \
        --width=400 --heigth=400                                    \
        --text="Preencha todos os campos" --text-align="center"     \
        --form                                                      \
        --field="Nome  : " ""                                       \
        --field="Email : " ""                                       \
        --field="Profissão:":CB Programador!Técnico!Analista!Outro  \
        --button gtk-add --buttons-layout="center"                  \
        )


echo $FORM

A execução do script acima resultará em:

59f79ffc1e8bb_Capturadetelade2017-10-3018-55-03.png.c7468b7fc2b9357dc83300fed7069f96.png

E o retorno do botão adicionar será:

Walderlan Sena|walderlan@email.com|Programador|

Desta forma perceba que a um padrão de separação entre os dados de retorno, ou seja, os mesmo estão separados por "|" pipeline. Com isso vamos utilizar o comando cut(Para saber mais sobre o CUT, acesse o vídeo Cortando seções de texto com o cut ) para capturar os dados armazenados na variável $FORM.

Utilizando o CUT executar o seguinte comando:

#!/bin/bash

#   Cria uma 'função' que monta e armazena o retorno do formulario
FORM=$(
    yad --center --title="Formulario de Cadastro"                   \
        --width=400 --heigth=400                                    \
        --text="Preencha todos os campos" --text-align="center"     \
        --form                                                      \
        --field="Nome  : " ""                                       \
        --field="Email : " ""                                       \
        --field="Profissão:":CB Programador!Técnico!Analista!Outro  \
        --button gtk-add --buttons-layout="center"                  \
        )

nome=$(echo  "$FORM" | cut -d "|" -f 1)
email=$(echo "$FORM" | cut -d "|" -f 2)
prof=$(echo  "$FORM" | cut -d "|" -f 3)

echo "Seu nome e      : $nome"
echo "Seu email e     : $email"
echo "Sua profissão e : $prof"

Após a execução o retorna no terminal será:

59f7a2b2c5736_Capturadetelade2017-10-3019-07-22.png.5108ad515529f54575b904d5fd559eed.png

 

Bom, este é mais um exemplo simples do funcionamento de formulário com Shell Script e Yad...

 

Até a próxima....

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...