TouchRadio: passage à QT5

Je vous ai parlé précédemment de mon projet en cours, TouchRadio. J’ai commencé (et bien avancé) le travail en me basant sur le couple Python/Kivy. Kivy est une excellente libraire graphique optimisée pour utiliser l’accélération hardware OpenGL ES. J’ai réussi assez facilement à me créer une petite interface graphique sympa, à communiquer avec le serveur Logitech Media Server en utilisant PyLMS,…

En fait, je suis arrivé à un résultat proche d’un premier prototype utilisable. Il me permettait de lister l’ensemble des artistes de la librairies LMS, lire des radios internet, afficher l’image, changer le volume,…

Comme vous pouvez le voir sur la capture d’écran ci-dessus, je développais sur une machine Windows. Un simple copier-coller des sources Python sur le RaspberryPi me permettait de lancer le programme sur celui-ci sans rien changer aux sources. C’est beau, le Python!

Mais… Il y a un mais! Le support de l’écran tactile ne semble pas correctement implémenté. En effet, le scrolling sur la liste des artistes était pratiquement impossible : soit le simple fait de poser le doigt sur l’écran était considéré comme un clic, soit le scroll commençait bien, mais était très très lent. De même pour les autres boutons, la réaction face à un déplacement ou un clic au doigt était aléatoire. A ce moment-là, je ne savais pas si s’agissait d’un problème au niveau du driver ou du contrôleur de l’écran tactile, d’une limitation des ressources du Raspberry ou d’un soucis au niveau de Kivy.

J’y ai passé beaucoup de temps, puis… j’ai un peu laissé ce projet de côté pour essayer d’autre bidouillages. Un de ces bidouillage a été de tester la nouvelle version de QT5 sur le Raspberry : QT5.1. J’avais déjà essayé la version 5.0 sans succès. Ici, j’ai pu compiler et lancer quelques exemples, et remarquer avec grande surprise que les exemples utilisant des listes scrollables étaient parfaitement fluides et utilisables!

Du coup… La motivation pour continuer TouchRadio est revenue! Enfin, quand je dis « continuer », je devais plutôt dire « recommencer ». J’ai tout commencé en utilisant Python et la librairie Kivy. Maintenant que je passe à QT, je vais utiliser le langage C++! Du coup, à part la logique du code et la mise en page de l’interface graphique, il n’y a pas grand chose à récupérer. Pas grave, on est là pour apprendre et pour s’amuser, non?

Donc, sachez que le développement de TouchRadio a repris, et j’essayerai de vous tenir au courant si j’ai le temps de m’y remettre sérieusement!

Attention, je ne dénigre pas Kivy! Je trouve Kivy très agréable à utiliser, et une fois qu’on a compris le principe, la création d’interface graphique est très rapide. Je continue à suivre son évolution de près, et je suppose que ce genre de bug de jeunesse sera corrigé dans le futur.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *