fbpx

Tkinter vs PySide/PyQt – Qual biblioteca GUI Python você deve usar?

Comparando as bibliotecas de GUI do Python disponíveis em 2022

Python é uma linguagem de programação popular usada para tudo, desde tarefas de rotina de script até a construção de sites e a realização de análises complexas de dados. Embora você possa realizar muito com ferramentas de linha de comando, algumas tarefas são mais adequadas para interfaces gráficas. Você também pode querer construir um front-end de desktop para uma ferramenta existente para melhorar a usabilidade para usuários não técnicos.

Para criar interfaces gráficas de usuário com Python, você precisa de uma biblioteca GUI. Infelizmente, neste ponto as coisas ficam bem confusas pois existem muitas bibliotecas GUI diferentes disponíveis para Python, todas com diferentes capacidades e licenciamento. Qual biblioteca GUI Python você deve usar para o seu projeto?

Neste artigo, veremos uma seleção das estruturas de GUI Python mais populares atualmente disponíveis e por que você deve considerar usá-las em seus próprios projetos.

PySide ou PyQt

Melhor para aplicações modernas desktop, multimídia, software científico e de engenharia

PyQt e PySide são wrappers em torno do framework Qt. Eles permitem que você crie facilmente interfaces modernas que parecem em casa em qualquer plataforma, incluindo Windows, macOS, Linux e até Android. Eles também possuem ferramentas sólidas, sendo o mais notável o Qt Designer, que inclui um editor WYSIWYG para projetar interfaces GUI de maneira rápida e fácil. Ser apoiado por um projeto comercial significa que você encontrará muito suporte e recursos de aprendizado on-line para ajudá-lo a desenvolver seu aplicativo.

Qt (e por extensão PyQt & PySide) não é apenas uma biblioteca GUI, mas uma estrutura completa de desenvolvimento de aplicativos. Além dos elementos padrão da interface do usuário, como widgets e layouts, o Qt fornece visualizações orientadas a dados do tipo MVC (planilhas, tabelas), interfaces e modelos de banco de dados, plotagem de gráficos, visualização de gráficos vetoriais, reprodução de multimídia, efeitos sonoros e listas de reprodução e em interfaces para hardware, como impressão. Os modelos de sinais e slots Qt permitem que grandes aplicações sejam construídas a partir de componentes reutilizáveis ​​e isolados.

Enquanto outros kits de ferramentas podem funcionar muito bem ao construir ferramentas pequenas e simples, o Qt realmente se destaca na construção de aplicativos reais de qualidade comercial, onde você se beneficiará dos componentes pré-construídos. Isso vem à custa de uma ligeira curva de aprendizado. No entanto, para projetos menores, o Qt não é realmente mais complexo do que outras bibliotecas. Os aplicativos baseados em Qt Widgets usam widgets nativos da plataforma para garantir que pareçam e se sintam em casa em desktops Windows, macOS e Linux baseados em Qt.

Tkinter

Melhor para interfaces de ferramentas simples

Tkinter é a biblioteca GUI já incorporada no Python por padrão. Ele vem junto com o Python no Windows e no macOS. (No Linux, pode ser necessário baixar um pacote adicional do repositório de sua distribuição.) Tkinter é um wrapper escrito em torno do kit de ferramentas Tk GUI. Seu nome é uma amálgama das palavras Tk e Interface.

Tkinter é uma biblioteca simples com suporte para layouts e widgets padrão, bem como widgets mais complexos, como visualizações com guias e barras de progresso. Tkinter é uma biblioteca GUI pura, não um framework. Não há suporte integrado para GUIs a partir de fontes de dados, bancos de dados ou para exibir ou manipular multimídia ou hardware. O Tkinter é multiplataforma, mas os widgets podem parecer desatualizados, principalmente no Windows.

Resumo

Porque não usar o Tkinter

  • Tkinter não inclui widgets avançados.
  • Não possui ferramenta semelhante ao Qt Designer para Tkinter.
  • Não tem uma aparência nativa
  • Aparência ultrapassada

Porque usar o PySide/PyQt

  • Flexibilidade de codificação – a programação GUI com Qt é projetada em torno do conceito de sinais e slots para estabelecer comunicação entre objetos. Isso permite flexibilidade ao lidar com eventos de GUI e resulta em uma base de código mais suave.
  • Mais do que uma estrutura – o Qt usa uma ampla variedade de APIs de plataforma nativa para fins de rede, criação de banco de dados e muito mais. Ele oferece acesso primário a eles por meio de uma API exclusiva.
  • Vários componentes de interface do usuário – o Qt oferece vários widgets, como botões ou menus, todos projetados com uma aparência básica em todas as plataformas suportadas.
    Vários recursos de aprendizado – como o PyQt é uma das estruturas de interface do usuário mais usadas para Python, você pode obter acesso fácil a uma ampla variedade de documentação.

Índice

Compartilhar

Facebook
Twitter
LinkedIn

Isto aqui também pode te interessar

Ferramentas
Luciano Zembruzki

Qt Designer

Construa suas interfaces e componentes gráficos mais rápido Para criar suas interfaces no PySide/PyQt, você pode seguir dois caminhos principais: (i) você pode codificar manualmente

Dúvidas
Luciano Zembruzki

Licenças – PySide e PyQt

Tudo o que você precisa saber sobre LGPL e GPL para suas aplicações PySide ou PyQt O PyQt foi desenvolvido por Phil Thompson da Riverbank

PyQt6 vs PySide6
Dúvidas
Luciano Zembruzki

PyQt6 vs PySide6

Qual é a diferença entre as duas bibliotecas Python Qt? Neste post, explicarei exatamente as diferenças entre o PyQt e o Pyside que você precisa

Tutoriais
Luciano Zembruzki

Organizar arquivos por extensão com Python

Organizar arquivos em seu computador pode ser uma tarefa cansativa, especialmente quando você faz isso manualmente, algumas pastas (como a pasta Downloads) em seu computador