Message #7599
Sujet: Qt et Irrlicht, décidément ils ne s'aimes pas
| Type | Date | Auteur | Contenu |
|---|---|---|---|
| Dernière modification | 13-12-2009 12:13:55 | Gehogor |
Bonjour, désolé de ne pas avoir été là plutôt. C'est sans doute trop tard mais on ne sait jamais. Je vais essayer de vous filer des bouts de code qui m'ont permis d'intégrer parfaitement Qt avec Irrlicht, ça fait plusieurs mois que ça tourne. D'ailleurs Tmyke, je ferai ma présentation de projet robotique pendant les vacances de noël afin d'honorer cette section.
Alors je fais simple, voici le .pro pour être vraiment compatible linux et windows: De plus, j'ai fait tout comme vous un objet GsIrrlicht permettant la fusion des deux libs. Dans cette objet il y a notamment cette initialisation: Les variables m_Quelquechose sont privées. La suitre de l'initialisation est comme d'habitude. Maintenant pour rafraichir le rendu 3D, j'utilise soit un timer Qt interne à ce même objet, soit un timer Qt externe car ma fonction "updatFrame()" est un slot public. La voici: Petit conseil, pour mon application j'ai choisi de créer une fenêtre Irrlicht à coté de celle de Qt car l'utilisation de ID d'Irrlicht n'était pas codée pour linux, seulement pour windows. Les fonctions étaient présentes mais vides. Je ne sais pas si la 1.6 d'Irrlicht est plus complète. De plus, même sur windows lorsqu'on intègre la fenêtre 3D d'Irrlicht dans la fenêtre Qt, on rencontre des problèmes d'évènements. Il y a des difficultés: on capture mal la position de la souris, il faut ou pas désactivé le mouseTracking de Qt... Bref, j'ai changé de stratégie, j'ai maintenant une fenêtre Irrlicht avec la gestion de ses évènements et une fenêtre Qt pour tous les réglages ou autre. Ce n'est pas une super solution car lorsqu'on a qu'un seul écran d'ordinateur c'est embêtant. Par contre, c'est plus simple à gérer je trouve. Juste une petite image pour prouver mes dires: Bonne journée à vous. |
| Création du message | 13-12-2009 09:20:42 | Gehogor |
Bonjour, désolé de ne pas avoir été là plutôt. C'est sans doute trop tard mais on ne sait jamais. Je vais essayer de vous filer des bouts de code qui m'ont permis d'intégrer parfaitement Qt avec Irrlicht, ça fait plusieurs mois que ça tourne. D'ailleurs Tmyke, je ferai ma présentation de projet robotique pendant les vacances de noël afin d'honorer cette section.
Alors je fais simple, voici le .pro pour être vraiment compatible linux et windows: De plus, j'ai fait tout comme vous un objet GsIrrlicht permettant la fusion des deux libs. Dans cette objet il y a notamment cette initialisation: Les variables m_Quelquechose sont privées. La suitre de l'initialisation est comme d'habitude. Maintenant pour rafraichir le rendu 3D, j'utilise soit un timer Qt interne à ce même objet, soit un timer Qt externe car ma fonction "updatFrame()" est un slot public. La voici: Petit conseil, pour mon application j'ai choisi de créer une fenêtre Irrlicht à coté de celle de Qt car l'utilisation de ID d'Irrlicht n'était pas codée pour linux, seulement pour windows. Les fonctions étaient présentes mais vides. Je ne sais pas si la 1.6 d'Irrlicht est plus complète. De plus, même sur windows lorsqu'on intègre la fenêtre 3D d'Irrlicht dans la fenêtre Qt, on rencontre des problèmes d'évènements. Il y a des difficultés: on capture mal la position de la souris, il faut ou pas désactivé le mouseTracking de Qt... Bref, j'ai changé de stratégie, j'ai maintenant une fenêtre Irrlicht avec la gestion de ses évènements et une fenêtre Qt pour tous les réglages ou autre. Ce n'est pas une super solution car lorsqu'on a qu'un seul écran d'ordinateur c'est embêtant. Par contre, c'est plus simple à gérer je trouve. Juste une petite image pour prouver mes dires: Bonne journée à vous. |
| Options | Liens officiels | Caractéristiques | Statistiques | Communauté |
|---|---|---|---|---|
|
Préférences cookies Corrections |
![]() ![]() ![]() ![]() |
Propulsé par Django xhtml 1.0 css 2.1 |
884 membres 1440 sujets 11337 messages |
Dernier membre inscrit: Saidov17 142 invités en ligne membre en ligne: - RSS Feed |