2010-06-25 2 views
3

J'écris une bibliothèque Qt basée sur Qt (QtCore) et je voudrais y accéder depuis Java et Python. Python n'est pas un problème à cause de PySide et SIP. Mais je ne peux pas trouver d'informations sur la façon de faire la même chose avec Java. Le fait que Java bindings exist for Qt me fait espérer qu'il existe un moyen de créer des liaisons pour une bibliothèque Qt personnalisée.Génération de la liaison Java à une bibliothèque basée sur Qt

Quelqu'un at-il fait cela? Ou avez des informations ou des indications sur la façon dont cela peut être fait?

Répondre

0

http://www.swig.org/ a un programme appelé swig. Ce programme vous permet de générer liaisons , qui créent des fonctions dans des langages tels que Java ou Python qui appellent simplement la fonction C (++) appropriée Par exemple, si vous avez une fonction C++ int add(int x, int y), l'exécution du prototype/définition via SWIG créerait un wrapper Java qui appelle cette fonction. Toutes les bibliothèques que le code C utilise ne sont pas pertinentes.

+0

Le problème avec SWIG est qu'il ne comprend pas les détails de Qt. SIP et PySide par exemple génèrent des liaisons qui fonctionnent bien avec Qt. J'ai utilisé SWIG avec C++ (qui ne dépendait pas de Qt) et bien que cela fonctionne, le code de wrapper généré est énorme, surtout si vous commencez à utiliser des templates STL. La réponse que je recherche est plus en ce qui concerne éventuellement l'utilisation du même générateur que celui utilisé par Qt Jambi. Mais je ne trouve aucune information à ce sujet. –

Questions connexes