Boîte à outils GUI recommandée pour le développement Python sur le Raspberry Pi

31

J'enseigne à ma fille Python (et moi-même dans une certaine mesure) à l'aide du Pi, et nous avons passé un bon moment jusqu'à présent - mais la CLI ne peut nous emmener jusqu'ici. J'ai commencé à regarder d'autres boîtes à outils, en particulier wx , Qt et GTK . Tout cela semble avoir de bonnes liaisons pour Linux en général, bien que je ne puisse pas trouver beaucoup d'informations spécifiques au Raspberry Pi. Je suis également ouvert à d'autres boîtes à outils - tant que les liaisons python sont bonnes.

Quelqu'un a-t-il une expérience de codage sur l'un d'eux sur le pi? Existe-t-il une apt-getcommande simple que je dois exécuter pour installer les packages nécessaires? Mieux encore, existe-t-il une boîte à outils prête à l'emploi avec l'image stock Raspbian?

Remarque: J'utilise actuellement Raspbian sans problème, bien qu'Arch soit tentant en raison des problèmes ABI de flottement dur avec mono.

Goyuix
la source

Réponses:

22

Je recommanderais Tkinter, c'est la bibliothèque GUI standard pour Python, et par conséquent est déjà installée. L'IDE IDLE (qui est inclus avec l'image Raspbian) non seulement prend en charge Tkinter mais est lui-même une application Tkinter. De plus, la plupart des livres Python comprendront au moins un chapitre sur la création d'interfaces graphiques avec Tkinter. Si vous préférez les ressources Web, vous voudrez consulter le didacticiel Tkinter de Pythonware . Des informations et des ressources supplémentaires peuvent être trouvées sur la page Tkinter de Python.org .

Steve Robillard
la source
Pour le tutoriel Tkinter, le lien est pour la deuxième page - voici l'intro si quelqu'un le veut: pythonware.com/library/tkinter/introduction/whats-tkinter.htm
Pingouin anonyme
2

J'ai fait un tout petit peu de temps avec Tkinter il y a 15 ans, puis quelques années plus tard, j'ai fait quelque chose avec wx. Même si j'ai pu faire des choses, je les ai trouvées un peu fastidieuses. Je ne sais pas dans quelle mesure la situation s'est améliorée depuis ma dernière utilisation - ni dans quelle mesure mon propre apprentissage les rendrait plus faciles aujourd'hui.

Cependant, au cours des derniers mois, j'ai exploré PySide , qui est un cadre compatible avec PyQt. Incroyablement utile est le Qt Designer , qui vous permet de glisser-déposer des composants (boutons-poussoirs, cadrans, curseurs, cases à cocher, etc.) et de les enregistrer en tant que fichier XML avec l'extension ".ui". pyside-uic lit ensuite cela et produit du code Python. Il y a d'excellentes vidéos de didacticiel.

Bo Milanovich a une série de 29 vidéos sur Udemy (pour 15 $) que je viens de terminer, mais en a également plusieurs gratuitement répertoriées sur le site Qt: http://wiki.qt.io/PySide_Video_Tutorials . Bo peut être un peu "distrait" dans ses leçons, en partant sur des tangentes, mais pour 29 leçons en moyenne 30 minutes chacune, cela valait vraiment 15 $.

J'ai également récemment trouvé " Tutoriel de programmation de Qt Designer - PyQt with Python GUI " ( https://www.youtube.com/watch?v=Dmo8eZG5I2w ). Cela m'a conduit au site du présentateur qui propose des intros à Qt, Tkinter et Kivy https://pythonprogramming.net/gui-development-tutorials/ . Je ne les ai pas regardés, mais sur la base du tutoriel Qt Designer que j'ai regardé, je suis impatient de ceux sur pythonprogramming.net.

Une partie de la documentation officielle de PyQt et PySide fait un peu défaut. Une grande partie a été convertie via un processus automatisé à partir de la documentation Qt d'origine, et des bits ont été perdus lors de la traduction. Donc, si les documents sur https://pyside.github.io/docs/pyside/ font défaut, consultez les documents sur http://doc.qt.io/ et essayez de traduire ce que vous lisez en Python. Mais regardez d'abord les tutoriels, car ils vous mèneront loin.

J'ai brièvement examiné GTK il y a quelques années. Il a également un concepteur, clairière. J'ai envisagé de reprendre cette route, mais pour les choses qui m'intéressaient, il semblait y avoir plus d'énergie derrière Qt. Je commence JUSTE à explorer Kivy, car il semble être recommandé pour le travail sur écran tactile.

Un peu tard, mais j'espère que cela vous aidera.

Ubuntourist
la source
1

tkinter est l'extension GUI de TCL qui a été utilisée très tôt dans le cycle de développement Python. IDLE, le shell de commande Python utilise tkinter.

pour une interface graphique, vous avez besoin d'un service xorg-x11 (un démon) et d'un gestionnaire de présentation. X11 est l'endroit où vivent les pilotes de périphérique d'affichage. Là, les noms commencent par xorg-x11-drv-xxxxx. X11 est un contrôleur HID (Human Interface Device). Les souris, tablettes, claviers, etc. se connectent également au service x11.

Mon gestionnaire de présentation est Gnome, mais il y en a au moins 1/2 douzaine. Je comprends que le Xfce est l'un des plus légers.

Pour les outils de développement GUI Python, j'utilise DrPython (édition de code, vérification de syntaxe et débogage). wxGlade est un environnement de développement GUI glisser-déposer Python assez similaire à Visual Basic. Les deux sont des applications wxPython et ne nécessitent pas de privilèges root. Ils peuvent être téléchargés sur sourceforge.net

Mon R-Pi-3b est en commande. Ma petite-fille en a déjà un, c'est pourquoi la commande a été passée. Je programme depuis plus de 60 ans et en Python depuis plus d'une décennie. J'ai développé un certain nombre de compilateurs pour les langages personnalisés et les applications client / serveur pour la domotique.

Ancient-Geek
la source
1

J'ai développé une application graphique qui fonctionne sur Raspberry Pi 2,3. J'ai utilisé à la fois tkinter et pyQt4.

Mais là où tkinter et pyQt4 nécessitent beaucoup plus de codage pour placer vos widgets et cela prend beaucoup de temps pour les dispositions de mise en page.

Dans ma suggestion, utilisez le concepteur QT4 pour créer votre interface utilisateur.C'est très facile en raison de la fonctionnalité de glisser-déposer, plus tard, vous pouvez générer le script python .py à partir du fichier .ui en utilisant la commande pyuic4 et vous pouvez également ajouter des images dans votre interface utilisateur à l'aide du concepteur qt4 pour que vous devez créer un fichier resosurce.rc que vous devrez ensuite convertir en utilisant la commande pyrcc.

Plusieurs didacticiels sont disponibles.

Yatish Prasad
la source
0

Jetez un oeil à appJar. Il n'a pas les fonctionnalités de glisser-déposer de QT4 Designer dont nous avons parlé ci-dessus, mais vous pouvez créer une belle interface graphique en quelques minutes en fonction de ce que vous essayez d'accomplir. Les documents sur leur page Web présentent de nombreux exemples. http://appjar.info/

Chad G
la source
-2

optez pour pygtk c'est le meilleur et stable solide comme le roc mais facile pour les débutants

ngprnk
la source
5
Quelques détails supplémentaires aideraient à améliorer cette réponse (ce qui la rend la meilleure par rapport à d'autres alternatives, comment l'installer, ce qui la rend facile).
Steve Robillard