GUIs com Python e PyQt5 - Introdução
Olá para todos! Como estão? Espero que bem!
Começarei uma série de artigos sobre a criação de Interface Gráfica do Usuário (GUI) na linguagem Python com a biblioteca PyQt5. Mas por que Python e por que a biblioteca PyQt5? Por alguns motivos:
- Python é uma das linguagens mais usadas atualmente;
- As bibliotecas são atualizadas constantemente;
- É uma linguagem de fácil entendimento;
- As aplicações geradas com PyQt5 podem ser multiplataforma;
- A biblioteca PyQt5 conta com uma GUI para desenhar as aplicações sem a necessidade de escrever o código.
Sem mais delongas, vamos ao artigo!
1 . Uma breve história da Interface Gráfica do Usuário (GUI)
A Interface Gráfica do Usuário tem uma longa e venerável história que remonta já na década de 1960. O NLS (oN-Line System) de Stanford introduziu o conceito de conceito de mouse e telas, demonstrado publicamente pela primeira vez em 1968. Este foi seguido pelo sistema Xerox PARC Smalltalk GUI 1973, que é a base da maioria das GUIs modernas de uso geral.
Figura 1: NLS
Figura 2: Xerox Alto
Estes primeiros sistemas já tinham muitas das características que tomamos por garantidas nas GUIs de ambiente de trabalho modernas, incluindo janelas, menus, botões de rádio, caixas de verificação e, mais tarde, ícones. Esta combinação de características deu-nos o primeiro acrónimo utilizado para este tipo de interfaces: WIMP (windows, icons, menus, pointing device?-?um mouse).
Em 1979, foi lançado o primeiro sistema comercial com uma GUI?-?a estação de trabalho PERQ. Esta iniciativa deu origem a uma série de outros sistemas com GUI, nomeadamente a Apple Lisa (1983), que acrescentou o conceito de barra de menus e controlos de janelas. Assim como muitos outros sistemas, como o Atari ST (GEM) e o Amiga. Em 1984, no UNIX (e mais tarde no Linux), o X Window System surgiu em 1984. A primeira versão do Windows para PC foi lançada em 1985.
As primeiras GUIs não foram o sucesso instantâneo que poderíamos supor, devido à falta de software compatível no lançamento e aos requisitos de hardware dispendiosos?-?especialmente para utilizadores domésticos. Lentamente, mas de forma constante, a GUI tornou-se a forma preferida de interagir com os computadores e o WIMP estabeleceu-se firmemente como padrão. Isso não quer dizer que não tenha havido tentativas de substituir o WIMP no ambiente de trabalho. O Microsoft Bob (1995), por exemplo, foi a tentativa fracassada da Microsoft de substituir o ambiente de trabalho por uma "casa".
Não faltaram outras GUIs aclamadas como revolucionárias em seu tempo, desde o lançamento do Windows 95 (1995) até o Mac OS X (2001), GNOME Shell (2011) e Windows 10 (2015). Cada um deles reformulou as interfaces de usuário de seus respectivos sistemas de desktop, geralmente com muito alarde. Mas, fundamentalmente, nada mudou de fato. Essas novas interfaces de usuário ainda são sistemas WIMP e funcionam exatamente da mesma forma que as GUIs desde a década de 1980.
Quando a revolução chegou, ela foi gritante- o mouse foi substituído pelo toque e as telas por aplicativos de tela cheia. Mas mesmo em um mundo em que todos nós andamos com smartphones no bolso, uma grande quantidade de trabalho diário ainda é feita em computadores desktop. O WIMP sobreviveu a quatro décadas de inovação e parece que sobreviverá a muitos outros.
2. Um pouco sobre Qt
O Qt é um kit de ferramentas de widget gratuito e de código aberto para a criação de aplicativos GUI multiplataforma, permitindo que os aplicativos sejam direcionados a várias plataformas do Windows, macOS, Linux e Android com uma única base de código. Mas o Qt é muito mais do que um kit de ferramentas de widget e apresenta suporte integrado para multimídia, bancos de dados, gráficos vetoriais e interfaces MVC (Model-View-Controller), é mais correto pensar nele como uma estrutura de desenvolvimento de aplicativos.
O Qt foi criado por Eirik Chambe-Eng e Haavard Nord em 1991, fundando a primeira empresa de Qt, a Trolltech, em 1994. Atualmente, o Qt é desenvolvido pela The Qt Company e continua a ser atualizado regularmente, adicionando recursos e ampliando o suporte a dispositivos móveis e plataformas cruzadas, ampliando o suporte móvel e entre plataformas.
3. Qt e PyQt5
O PyQt5 é uma ligação Python do kit de ferramentas Qt, desenvolvido pela Riverbank Computing. Quando você escreve aplicativos usando o PyQt5, o que está realmente fazendo é escrever aplicativos em Qt. A biblioteca PyQt5 é simplesmente uma capa em torno da biblioteca Qt C++, para permitir que ela seja usada em Python.
Como essa é uma interface Python para uma biblioteca C++, as convenções de nomenclatura usadas no PyQt5 não seguem os padrões PEP8. Mais notavelmente, as funções e variáveis são nomeadas usando mixedCase em vez de snake_case. Se você adere ou não a esse padrão em seus próprios aplicativos, depende inteiramente de você; no entanto, acho que é útil seguir os padrões Python em meu próprio código, para ajudar a esclarecer onde termina o código do PyQt5 e começa o seu.
Por fim, embora exista uma documentação específica do PyQt5 disponível, você frequentemente lerá a própria documentação do Qt, pois ela é mais completa. Se fizer isso, você precisará traduzir a sintaxe do objeto e alguns métodos que contêm nomes de funções reservadas do Python, como por exemplo:
Qt | PyQt |
---|---|
Qt::SomeValue | Qt.SomeValue |
object.exec() | object.exec_() |
object.print() | object.print_() |
Por hoje é só! Te vejo no próximo artigo!