-
Gérer les événements
Bonjour
Je développe depuis un certain temps une appli en GTK+ (glade) seulement ce toolkit ne satisfait pas puisqu'il n'est pas disponible sous OS X et que l'intégration sous WIndows est plutôt incomplète, de plus il est difficile à déployer (je n'ai jamais réussi à faire fonctionner mon appli une fois packée par py2exe même en intégrant le fichier .glade). Tout ceci est plutot gênant puisque mon appli a pour vocation d'être la plus cross-platform possible et tant qu'à faire bien intégrée à l'environnement d'éxécution.
J'ai donc refait l'interface en qt4 avec le Qt Designer et pyuic pour générer le code correspondant, mon principal problème est maintenant la gestion des évênements, les signal/Slots semblent se limiter à la connexion de deux widgets entre eux, or j'aimerai que lorsque l'utilisateur appuie sur un bouton la fonction correspondante soit appelée, je cherche donc à mieux comprendre ce mécanisme qui semble plus puissant et pratique que les callbacks, seulement je n'ai trouvé aucun cours sur PyQT "complet", la doc Qt est bien faite mais ne m'aide pas beaucoup.
Y a-t-il des ressources sur Qt traitant de son utilisation en Python et plus particulièrement de cette fameuse gestion des évênements ? Pour l'instant je n'ai pas trouvé grand chose :cry:
-
En fait la gestion des évènements est l'un des plus gros points fort de Qt, car elle est relativement aisée, surtout en Python.
C'est le principe de Signaux et Slots. En fait tu dit que quand tel évènement a lieu ça déclenche telle action.
Je te conseille donc en premier lieu la doc de PyQt, et tant qu'à faire la version traduite :
http://leroybrice.free.fr/?/Python-B...-Tools-For-QtV
Mais n'importe quel tuto pour Qt peut suffire, il suffit de l'adapter à Python, ce qui n'est pas très dur.
Par contre je te déconseille d'utiliser QtDesigner car quand on débute il est plutôt dur de créer les connections avec, et le code parait lourd. Donc essaie plutôt de coder ton interface à la main, ce n'est pas super dur, c'est plus clair, plus léger, plus facile à déboguer et plus instructif ;) .
-
Merci du conseil, je vais essayer de me débrouiller avec :)