Desenvolver GUIs em Python: Tkinter vs PyQt [fechado]
-
11-09-2019 - |
Pergunta
Se alguém quiser desenvolver uma interface de usuário em Python, qual a ir para:? TkInter ou PyQt
Eu só comecei com TkInter e eu era capaz de obter algumas UIs simples indo com widgets elementares como rótulo, botão, caixa de texto etc. Apenas curioso para saber como boa PyQt iria ser comparado a TkInter?
aplausos
Solução
PyQt se você está desenvolvendo nada de grave, especialmente porque as coisas que você aprende irá traduzir diretamente para o trabalho com Qt em outros idiomas também se você precisar, e Qt é provavelmente a melhor cross-plataforma de interface kit de ferramentas disponíveis no momento.
Existem apenas dois (potenciais) desvantagens reais:
PyQt só está disponível sob a GPL. Isto significa que se você liberar seu código, ele tem que ser disponibilizado sob uma licença compatível, nos termos do o Nokia GPL Exceção , ou sob uma licença comercial (que custa dinheiro). Isso está em contraste com Qt, que agora está disponível sob a LGPL.
PyQt não é incluído por padrão com instalações do Python. Você vai ter para embalar a biblioteca si mesmo. (Ars Technica tem um bom artigo em fazê-lo para Windows e OS X).
Outras dicas
PyQt é o nosso principal conjunto de ferramentas GUI agora e depois de 1 ano de desenvolvimento Eu não quero voltar para qualquer outra coisa. É estável, maduro, multi-plataforma e completamente nativa. Até mesmo as caixas de diálogo do sistema (por exemplo, para abrir arquivos) são os usados ??por seu sistema operacional.
I beliscado meu tema XP e agora minha pele aplicativos em conformidade. Isso cria uma aparência muito profissional, não é comparável com um kit de ferramentas como Swing
. A API é extensa e vai além das coisas GUI puros como widgets. Ele tem suporte para conectividade de banco de dados, imprimir, rosqueamento (eu usei ele e ele funciona como um encanto), ... Eu até usá-lo para gerar (sem outros libs externos necessário) do PDF. Eu recomendaria o livro de Mark Summerfield embora ' Rápido GUI Programação com Python e Qt ' para chegar na velocidade . Tenha em mente que Qt vem com um construtor de GUI (Qt designer) que é o melhor que tenho usado (e eu tentei muitos deles).
I até mesmo usar este construtor para criar maquetes para mostrar aos usuários (é isso! Fácil).
Eu introduzi-lo para 2 outros desenvolvedores aqui e não ouvi-los reclamando ...
Eu estou usando tkinter
para pequenas aplicações com interface simples. Eu gosto muito dele, mesmo que a falta de uma boa WYSIWYG editor pode ser um problema para uma maior aplicação.
Para grandes aplicações, PyQt
pode ser uma escolha melhor. Tem um muito bom designer tela, mas o licenciamento pode ser um problema.
Finalmente, wxPython
pode ser uma boa alternativa, porque ele não tem esses inconvenientes.
PyQt é realmente fácil de aprender e docs para Qt também funciona para PyQt também existem portas para .NET e Java. Assim, é de fadas multiplataforma e linguagens. Além disso você tem PyQt integrado no Eric IDE .
O suporte para estilos CSS também é realmente brilhante.
Veja novo instalador OpenSuSE para ver o que você pode fazer com ele.
Você pode criar GUIs enormes usando Tkinter. Se você gosta de experimentar o módulo pytkgen que ajuda a criar Tkinter GUI da partir de definições JSON: https://github.com/tmetsch/pytkgen
Eu uso PyQt -. Cruz-plataforma, fácil de trabalhar com e confiável
TkInter muito leve e eu não posso encontrar um ponto de fazer tkinter melhor então PyQt.