Interfaces gráficas e Python

Na postagem retrasada, mostramos um aplicativo em Python que tinha uma interface gráfica, naquele projeto utilizei o framework PyQt. E nesse post falaremos sobre os frameworks mais utilizados para a criação de interfaces utilizando Python.




Transforma as estruturas gui tkinter, Qt, WxPython e Remi (baseadas no navegador) em uma interface mais simples. A definição da janela é simplificada usando tipos de dados do núcleo Python entendidos por iniciantes (listas e dicionários). Outra simplificação acontece alterando o manuseio de eventos de um modelo baseado em retorno de chamada para uma mensagem que passa uma. Seu código não é necessário para ter uma arquitetura orientada a objetos que torna o pacote utilizável por um público maior. Embora a arquitetura seja simples de entender, ela não necessariamente limita você a apenas problemas simples. No entanto, alguns programas não são adequados para o PySimpleGUI. O PySimpleGUI implementa um subconjunto dos recursos das estruturas de GUI subjacentes. É difícil definir exatamente quais programas são adequados para o PySimpleGUI e quais não são. Depende dos detalhes do seu programa. Duplicar o Excel em cada detalhe é um exemplo de algo não adequado para o PySimpleGUI.
(descrição retirada da página do framework no pypi)



Baseada em Tcl/Tk, a Tkinter acompanha a distribuição oficial do interpretador Python. É a biblioteca padrão da linguagem Python. 

Vantagens 
  • Portabilidade - Programas escritos usando a Tkinter são portáveis livremente entre Linux, Unix, Windows e Mac, além da garantia de que qualquer um poderá executar o programa sem precisar instalar bibliotecas extras no Windows. 
  • Aprendizado - Tem uma API simples de se aprender e fácil de lembrar. Documentação - Muito bem documentada, com inúmeros tutoriais e referências de ótima qualidade disponíveis na Web.
Desvantagens 
  • Pobre - Faltam muitos componentes importantes, como notebooks e combo box (apesar de estes poderem ser feitos combinando outros componentes). Alguns elementos (listbox por exemplo) são incompletos ou limitados. Em compensação o componente Text é muito poderoso. 
  • Aparência - A Tk usa uma função própria para acessar diretamente as funções do sistema operacional e desenhar seus próprios elementos na tela. Isso tem a vantagem de ser mais facilmente portável, mas a grande desvantagem de ter uma aparência diferente da nativa do sistema operacional. 
  • Performance - O desempenho é extremamente baixo comparado ao que a biblioteca oferece.
(descrição retirada do wikipédia)

3. PyQt5


Qt é um conjunto de bibliotecas multiplataformas C++ que implementam APIs de alto nível para acessar muitos aspectos dos modernos sistemas desktop e mobile. Estes incluem serviços de localização e posicionamento, conectividade multimídia, NFC e Bluetooth, um navegador web baseado em Chromium, bem como o desenvolvimento tradicional de interface do usuário. PyQt5 é um conjunto abrangente de ligações Python para Qt v5. Ele é implementado como mais de 35 módulos de extensão e permite que o Python seja usado como uma linguagem alternativa de desenvolvimento de aplicativos para C++ em todas as plataformas suportadas, incluindo iOS e Android. O PyQt5 também pode ser incorporado em aplicativos baseados em C++ para permitir que os usuários desses aplicativos configurem ou melhorem a funcionalidade desses aplicativos.

(descrição retirada da página do framework no pypi)

Vida longa ao Python!

Comentários

Postagens mais visitadas deste blog

Jogo da Velha em Python

Comparação entre interface em Python e Java

A beleza do Python