Skip to content

Faça GUIs simples com o Raspberry Pi usando EasyGUI

25 de abril de 2021

Adicionar uma interface gráfica de usuário (GUI) ao seu projeto Raspberry Pi é uma ótima maneira de incluir uma tela para entrada de dados, botões na tela para controles ou uma maneira mais inteligente de mostrar leituras de componentes como sensores. Este artigo usa o sistema operacional Raspbian padrão.

Faça uma interface para o seu projeto

Vários métodos GUI estão disponíveis para o Raspberry Pi. No entanto, a maioria tem uma curva de aprendizado acentuada. A interface Python do Tkinter pode ser a opção padrão para a maioria, mas os iniciantes podem lutar com sua complexidade. Da mesma forma, a biblioteca PyGame oferece possibilidades para fazer interfaces impressionantes, mas pode ser excedente aos requisitos. Se você está procurando uma interface rápida e direta para o seu projeto, EasyGUI pode ser a resposta. O que falta em beleza gráfica, mais do que compensa em sua simplicidade e facilidade de uso.

Este artigo fornece uma introdução à biblioteca, incluindo algumas das opções mais úteis que encontramos.

Baixe e importe EasyGUI

A instalação da biblioteca será familiar se você tiver usado o método apt-get install. Você precisa de uma conexão com a Internet no seu Raspberry Pi, usando uma conexão Ethernet com fio ou Wi-Fi. Este comando baixa a biblioteca e a instala para você. Essa é toda a configuração que você precisa fazer.

  1. Abra uma janela de terminal (o ícone de uma tela preta na barra de tarefas do seu Pi) e digite o seguinte comando:

    de importação easygui *
    tempo de importação

    Importar EasyGUI

    Esta versão da importação torna a codificação mais fácil posteriormente. Por exemplo, ao importar desta forma, em vez de escrever easygui.msgbox, você pode usar msgbox.

  2. Em sua forma mais simples, essa caixa de mensagem fornece uma linha de texto e um único botão para clicar. Aqui está um exemplo para tentar. Insira a seguinte linha após sua linha de importação e salve usando Ctrl+X:

    de importação easygui *
    tempo de importação
    msg = “Cool box hein?”
    title = “Eu sou uma caixa de mensagem”
    # Adicione outros comandos aqui

    Uma caixa de mensagem aparece, com Eu sou uma caixa de mensagem escrito na barra superior, e Cool box hein? acima do botão.

    EasyGUI Message Box

  3. Às vezes, você precisará que o usuário confirme uma ação ou escolha se deseja continuar. A caixa ccbox oferece a mesma linha de texto que a caixa de mensagem principal acima, mas fornece dois botões: Prosseguir e Cancelar. Aqui está um exemplo em uso, com os botões continuar e cancelar sendo impressos no terminal. Você pode alterar a ação após cada pressionamento de botão para fazer o que quiser:

    de importação easygui *
    tempo de importação
    msg = “Deseja continuar?”
    title = “Continuar?”
    se ccbox (msg, título): # mostra uma caixa de diálogo Continuar / Cancelar
    imprimir “Usuário selecionado continuar”
    # Adicione outros comandos aqui
    else: # usuário escolheu Cancelar
    imprimir “Usuário cancelado”
    # Adicione outros comandos aqui

    EasyGUI Continue Cancel Box

  4. Se as opções da caixa integrada não fornecerem o que você precisa, crie uma caixa de botão personalizada usando o recurso de caixa de botão. Isso é ótimo se você tiver mais opções que precisam de cobertura ou talvez esteja controlando uma série de LEDs ou outros componentes com a IU. Aqui está um exemplo de seleção de molho para um pedido:

    de importação easygui *
    import time msg = “Qual molho você gostaria?”
    escolhas = [“Mild”,”Hot”,”Extra Hot”]
    reply = buttonbox (msg, escolhas = escolhas) se responder == “Mild”:
    imprimir resposta
    if reply == “Quente”:
    imprimir resposta
    if reply == “Extra Hot”:
    imprimir resposta

    EasyGUI Buttonbox

  5. Os botões são ótimos, mas para longas listas de opções, uma caixa de escolha faz sentido. Essas caixas listam as opções disponíveis em linhas, uma após a outra. A OK e Cancelar a caixa está ao lado. Eles são razoavelmente inteligentes, classificando as opções em ordem alfabética e também permitindo que você pressione uma tecla para pular para a primeira opção dessa letra. Aqui está um exemplo mostrando dez nomes, que você pode ver que foram classificados na captura de tela.

    de importação easygui *
    tempo de importação
    msg = “Quem soltou os cachorros?”
    title = “Cães desaparecidos”
    escolhas = [“Alex”, “Cat”, “Michael”, “James”, “Albert”, “Phil”, “Yasmin”, “Frank”, “Tim”, “Hannah”]
    escolha = choicebox (msg, título, opções)

    EasyGUI Choice Box

  6. Formulários são uma ótima maneira de capturar dados para seu projeto. EasyGUI tem uma opção de caixa múltipla que permite mostrar campos rotulados para obter informações. É um caso de rotular campos e capturar a entrada. O exemplo abaixo é para um formulário simples de inscrição em uma academia. Existem opções para adicionar validação e outros recursos avançados, que o site EasyGUI cobre em detalhes.

    de importação easygui *
    tempo de importação
    msg = “Informações do membro”
    title = “Formulário de inscrição em academia”
    fieldNames = [“First Name”,”Surname”,”Age”,”Weight”]
    fieldValues ​​= [] # os valores iniciais
    fieldValues ​​= multenterbox (msg, título, fieldNames)
    imprimir fieldValues

    EasyGUI Multenterbox

  7. Você pode adicionar imagens às interfaces EasyGUI incluindo uma quantidade mínima de código. Salve uma imagem no Raspberry Pi no mesmo diretório do script EasyGUI e anote o nome do arquivo e a extensão (por exemplo, image1.png) Usando a caixa de botão como exemplo:

    de importação easygui *
    tempo de importação
    imagem = “RaspberryPi.jpg”
    msg = “Isto é um Raspberry Pi?”
    escolhas = [“Yes”,”No”]
    resposta = caixa de botões (msg, imagem = imagem, escolhas = escolhas)
    se responder == “Sim”:
    imprimir “Sim”
    senão:
    imprimir “Não”

    Imagens EasyGUI

Recursos mais avançados

Existem mais opções de caixa e exemplos disponíveis, dependendo de quanto você deseja aprender e do que seu projeto requer.

Senha EasyGUI

Caixas de senha, caixas de código e caixas de arquivo estão disponíveis, para citar alguns. É uma biblioteca versátil que é fácil de aprender em minutos, com algumas possibilidades de controle de hardware excelentes também. Se você gostaria de aprender como codificar outras coisas como Java, HTML ou mais, verifique os melhores recursos de codificação online disponíveis.