Existem muitas estruturas para escrever aplicativos GUI usando Python. Mas existe alguma estrutura padrão chave? Por exemplo, temos um pacote .NET / C # no Visual Studio.
Também estou pensando em outras perspectivas. No futuro, se eu der uma entrevista para um trabalho de programador Python, qual estrutura de GUI será considerada?
Eu também me pergunto, não há IDE que integre a linguagem GUI e Python. A escolha do sabor é boa, mas a escolha excessiva se torna uma distração.
Respostas:
Você pode escrever aplicativos GUI da API do Win32 em Python, se quiser escrever todo esse código padrão : projeto PyWin32
Pessoalmente, eu gosto do wxPython . É multiplataforma (totalmente compatível com Linux e Windows) e existe há algum tempo ... uma base de suporte decente e muita documentação / código de exemplo. Se você quiser usar isso, dê uma olhada no BoaConstructor . Esse é o IDE para o wxPython (ou, melhor dizendo, um IDE escrito em e para o wxPython). É o único IDE RAD especificamente para Python que me deparei que vale a pena mencionar, salve o editor de interface do usuário do Qt (o editor de interface do usuário do Qt é utilizável para C ++ e PyQT).
Como Peter mencionou em sua resposta, Tk é a interface gráfica padrão para aplicativos Python mais antigos, mas eles realmente não parecem tão bonitos para o usuário final. Existem algumas extensões para isso, que a tornam um pouco melhor e fornecem alguma capacidade de estilizar a interface do usuário, mas, a menos que você esteja mantendo um aplicativo GUI mais antigo, eu não sugeriria me preocupar com isso.
O pyGTK, também já mencionado, seria outra boa opção. Também é multiplataforma, embora eu não tenha tido nenhuma experiência pessoal com o desenvolvimento de GTK no Windows. O PyQT seria uma escolha melhor, IMO - acho que as GUI criadas com a biblioteca Qt têm aparência e função superiores às feitas com o GTK. Também acho o mecanismo de eventos de sinal / slot do Qt mais fácil de trabalhar. YMMV.
Realmente não existe um padrão para o desenvolvimento da GUI do Python, pelo menos não que eu tenha visto, mas dos meus colegas desenvolvedores de Python com os quais trabalhei ao longo dos anos, eles me sugeriram wxPython e PyQT mais do que qualquer outro kits de ferramentas. Não tenho certeza se existe um número substancial de posições de desenvolvimento da GUI do Python por aí, para ser sincero. A maior parte do desenvolvimento do Python que desenvolvi ao longo dos anos foi no lado do servidor, mas isso não quer dizer que agora não há várias empresas que buscam seguir a rota de código aberto para seus aplicativos GUI.
fonte
Tk costumava ser o padrão, mas é sem dúvida simplista e feio. Então, o Qt se tornou bastante popular. O Gtk também é possível, e isso abrange os favoritos nas plataformas Linux-ish.
Mas você está certo, não há realmente nenhuma resposta fácil. A escolha excessiva é bastante comum no mundo do código aberto, afinal.
fonte
Não existe um 'padrão' e eu concordo - a infinidade de opções é uma dor. Quanto a um IDE integrado de 'ferramentas de duas vias' para GUI do Python, também me pergunto por que não parece haver nenhum - talvez porque haja tantos kits de ferramentas da GUI que ninguém deseja investir em um IDE para apenas um dos eles.
Dito isto, o PyQt 4.7 com P3k fornecerá uma GUI maravilhosa (além de muitos outros recursos poderosos). Consulte http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/html/introduction.html - "Este é o guia de referência para o PyQt 4.8.4. PyQt v4 é um conjunto de ligações do Python para a v4 do Qt estrutura de aplicativos da Nokia ".
O PyQt é amplamente utilizado e existem alguns bons livros: consulte http://www.qtrac.eu/pyqtbook.html "Programação rápida de GUI com Python e Qt", entre outros (o livro está desatualizado um pouco - precisa ser atualizado para P3k).
Existem 2 problemas sérios com o PyQt:
1) Possui algumas características distintamente 'não-tônicas', sendo apenas um invólucro fino nas bibliotecas C ++ Qt. Mas eu recomendei o P3k-PyQt 4.7 porque alguns deles foram abordados nos pacotes 'mais recentes e melhores'. Confira este post:
Problemas de design do PyQt
2) Para uso comercial, existem taxas de licenciamento bastante íngremes, tanto para o PyQt quanto para o Qt.
Uma alternativa inovadora para o PyQt é o PySide da Nokia, outro wrapper Python para o Qt que é totalmente de código aberto (que não inclui o licenciamento do Qt).
Saber muito sobre Qt não é algo ruim em termos de mercado, e você obterá isso do PyQt, então eu consideraria (ou PySide) uma consideração séria se você estiver tentando decidir em uma plataforma GUI para se tornar especialista em .
Independentemente do que você escolher, sugiro evitar o tkinter na maior parte do tempo, mesmo que esteja "fora da caixa" com o Python, porque é extremamente limitado e, na IMO, ele tem uma aparência desagradável e desatualizada.
HTH
fonte
pyGTK é prolífico. É muito fácil de usar e faz com que as GUIs não pareçam ruins.
fonte
Gtk3 é uma estrutura de GUI muito madura. Possui ligações Python nativas (GObject Introspection) e muita documentação . Se você estiver fazendo um pouco de GUI, considere usar o Anjuta . Anjuta possui uma interface de arrastar e soltar para configurar seus widgets facilmente.
O WxWidgets é muito bom, no entanto, não há uma maneira fácil de gerar retornos de chamada Python dinamicamente, como o Anjuta faz para o Gtk.
O PyGtk agora está obsoleto em favor das ligações Gtk3 a Python (GObject Introspection)
O PyQt também é um participante da GUI do Python, mas não possui uma comunidade grande.
O BoaConstructor é mantido por mais tempo e seria tolo de usar.
fonte