Kit de ferramentas GUI recomendado para desenvolvimento de Python no Raspberry Pi


31

Estou ensinando minha filha Python (e eu, até certo ponto) usando o Pi, e nos divertimos muito até agora - mas a CLI só pode nos levar até agora. Comecei a procurar outros kits de ferramentas, especificamente wx , Qt e GTK . Todos eles parecem ter ótimas ligações para o Linux em geral, embora eu não consiga encontrar muitas informações específicas para o Raspberry Pi. Também estou aberto a outros kits de ferramentas - desde que as ligações do python sejam boas.

Alguém tem alguma experiência em codificação para um desses no pi? apt-getPreciso executar um comando simples para instalar os pacotes necessários? Melhor ainda, existe um kit de ferramentas pronto para acompanhar a imagem Raspbian?

Nota: Atualmente, estou usando o Raspbian sem problemas, embora o Arch seja tentador devido aos problemas da ABI com mono.

Respostas:


22

Eu recomendaria o Tkinter, é a biblioteca GUI padrão para Python e, como resultado, já está instalada. O IDLE IDE (incluído na imagem Raspbian) não apenas suporta o Tkinter, mas também é um aplicativo do Tkinter. Além disso, a maioria dos livros em Python incluirá pelo menos um capítulo sobre a criação de interfaces gráficas com o Tkinter. Se você preferir recursos da web, consulte o Pythonware tutorial Tkinter . Informações e recursos adicionais podem ser encontrados na página Tkinter do Python.org .


Para o Tkinter tutorial, o link é para o segundo page- aqui é a introdução se alguém quer: pythonware.com/library/tkinter/introduction/whats-tkinter.htm
Anônimo Pinguim

2

Passei um tempinho com Tkinter há 15 anos, e alguns anos depois fiz algo com o wx. Enquanto eu era capaz de fazer as coisas, achei-os um pouco entediantes. Não sei o quanto a situação melhorou desde a última vez que os usei - ou o quanto meu próprio aprendizado os faria parecer mais fáceis hoje.

No entanto, nos últimos meses, tenho explorado o PySide , que é uma estrutura compatível com o PyQt. Incrivelmente útil é o Qt Designer , que permite arrastar e soltar componentes (botões, botões, controles deslizantes, caixas de seleção etc.) e salvá-los como um arquivo XML com a extensão ".ui". O pyside-uic então lê e produz o código Python. Existem alguns ótimos vídeos tutoriais por aí.

Bo Milanovich tem uma série de 29 vídeos sobre a Udemy (por US $ 15), que acabei de concluir, mas também possui vários gratuitos listados no site Qt: http://wiki.qt.io/PySide_Video_Tutorials . Bo pode ficar um pouco "distraído" em suas aulas, saindo em tangentes, mas durante 29 aulas com média de 30 minutos cada, definitivamente valia US $ 15.

Recentemente, também encontrei o " Qt Designer - PyQt with Python GUI tutorial de programação " ( https://www.youtube.com/watch?v=Dmo8eZG5I2w ). Isso me levou ao site do apresentador, que oferece introduções para Qt, Tkinter e Kivy https://pythonprogramming.net/gui-development-tutorials/ . Eu não os assisti, mas com base no tutorial do Qt Designer que assisti, estou ansioso pelos do pythonprogramming.net.

Falta um pouco da documentação oficial do PyQt e PySide. Muito disso foi convertido através de algum processo automatizado da documentação original do Qt, e os bits foram perdidos na tradução. Portanto, se os documentos em https://pyside.github.io/docs/pyside/ estiverem ausentes, consulte os documentos em http://doc.qt.io/ e tente traduzir o que você lê para Python. Mas assista aos tutoriais primeiro, pois eles levarão um longo caminho.

Eu olhei brevemente para o GTK alguns anos atrás. Ele também tem um designer, glade. Pensei em seguir por esse caminho novamente, mas para as coisas pelas quais me interessei, parecia haver mais energia por trás do Qt. APENAS estou começando a explorar o Kivy, pois parece recomendado para o trabalho com tela de toque.

Um pouco tarde, mas espero que isso ajude.


1

O tkinter é a extensão da GUI para o TCL, que foi usada muito cedo no ciclo de desenvolvimento do Python. Ocioso o shell de comando do Python usa tkinter.

para uma GUI, você precisa de um serviço xorg-x11 (um daemon) e um gerenciador de apresentações. O X11 é onde estão os drivers de dispositivo de vídeo. Os nomes começam com xorg-x11-drv-xxxxx. X11 é um controlador HID (Human Interface Device). Ratos, tablets, teclados etc. também se conectam ao serviço x11.

Meu gerente de apresentações é o Gnome, mas existem pelo menos meia dúzia deles. Eu entendo que o Xfce é um dos mais leves.

Para ferramentas de desenvolvimento GUI Python, eu uso o DrPython (edição de código, verificação de sintaxe e depuração). O wxGlade é um ambiente de desenvolvimento de GUI do tipo arrastar e soltar, bastante semelhante ao Visual Basic. Ambos são aplicativos wxPython e não requerem privilégios de root. Eles podem ser baixados no sourceforge.net

Meu R-Pi-3b está em ordem. Minha neta já tem uma, e é por isso que o pedido foi feito. Venho programando há mais de 60 anos e em Python há mais de uma década. Desenvolvi vários compiladores para idiomas personalizados e aplicativos cliente / servidor para automação residencial.


1

Eu desenvolvi um aplicativo GUI que roda em raspberry pi 2,3. Eu usei tkinter e pyQt4.

Mas Onde o tkinter e o pyQt4 exigem muito mais codificação para colocar seus widgets e leva muito tempo para as disposições de layout.

Na minha sugestão, use o QT4 designer para criar sua interface do usuário. É muito fácil por causa da funcionalidade de arrastar e soltar; mais tarde, você pode gerar o script python .py do arquivo .ui usando o comando pyuic4 e também pode adicionar imagens na sua interface do usuário usando o qt4 designer para que você precisa criar o arquivo resosurce.rc, que posteriormente será convertido usando o comando pyrcc.

Existem vários tutoriais disponíveis.


0

Dê uma olhada no appJar. Ele não possui os recursos de arrastar e soltar do QT4 Designer mencionados acima, mas você pode criar uma boa interface gráfica em apenas alguns minutos, dependendo do que está tentando realizar. Os documentos na página da web mostram muitos ótimos exemplos. http://appjar.info/


-2

vá para pygtk é o melhor e estável como um sólido, mas fácil para iniciantes


5
Alguns detalhes adicionais ajudariam a melhorar esta resposta (o que a torna a melhor em comparação com outras alternativas, como instalá-la, o que a torna mais fácil).
9788 Steve Rogillard
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.