Bonjour,
je suis en train d'adapter un logiciel que je développe avec PyQt pour le faire fonctionner aussi avec PySide.
Je me trouve confronté à l'erreur suivante :
Fail to add dynamic slot to QObject. PySide support at most 50 dynamic slots.
Une recherche me donne par exemple cette page :
http://qt.gitorious.com/pyside/pysid...e70d1f225f438f
où l'on voit qu'une variable MAX_SLOTS_COUNT est effectivement fixée à 50.
Or j'ai bien plus de 50 slots créés lors du lancement du logiciel ; la pluspart dans une procédure createActions (inspirée des exemples PyQt) sous la forme :
self.actionSaveAsDBMy = QtGui.QAction(self.tr("SaveAsDBMy..."), self)
self.actionSaveAsDBMy.setIcon(QtGui.QIcon("images/document-save-as.png"))
self.actionSaveAsDBMy.setStatusTip(self.tr("SaveAsDBMyStatusTip"))
self.actionSaveAsDBMy.triggered.connect(self.doSaveAsDBMy)
Donc ce sont des QAction, connectés à des procédures perso.
Je peux ainsi les mettre dans des menus ou des boutons, et ça me semblait la manière de faire.
J'ai commenté quelques lignes de "connect" et le programme a fini par se lancer, mais évidemment avec beaucoup moins de fonctionnalités.
Mes questions sont donc :
* pourquoi cette limite dans PySide (qui n'est pas dans PyQt) ?
* est-ce que ma manière de procéder n'est pas correcte ? alors comment doit on s'y prendre ? et pourquoi ça marche avec PyQt ? et pourquoi je n'ai rien trouvé dans la doc ?
* sinon, comment contourner cette limitation ? Peut on faire des connect seulement au dernier moment ? Les défaire après utilisation ? Y a t'il une autre façon de contourner ce problème ?
Si vous voulez voir de quoi il retourne, voici 2 liens :
le site du projet :
http://verac.tuxfamily.org
le dépôt Git (voir la branche PySide) :
http://git.tuxfamily.org/verac/python/
Merci d'avance à ceux qui pourraient m'aider
O-
Partager