Utilisation classe Qt

Please use this forum for open discussions about Bouml.
Merci d'utiliser ce forum pour des discussions ouvertes à propos de Bouml.

Utilisation classe Qt

Postby victorien » Thu 24 Mar 2016 08:15

Bonjour
Travaillant avec Qt, j'aimerais utiliser certaines classes de Qt pour réaliser héritages , dépendances, etc...
Quelles sont les possibilités autres que de créer des classes externes au coup par coup : Travail long et fastidieux.
Peut être l'importation d'un module existant déjà ? ou une procédure que je n'ai pas découverte ou comprise ?
Existent t-ils des projets exemples d'intégrations avec Qt que je pourrais utiliser.
Je débute et mon vocabulaires et connaissances sont encore très parcellaires. Veuillez m'en excuser.
Merci
Victorien
victorien
 
Posts: 9
Joined: Fri 11 Mar 2016 05:27

Re: Utilisation classe Qt

Postby Bruno Pagès » Thu 24 Mar 2016 14:38

Bonjour,

Si vous voulez juste avoir une liste de classes Qt déclarées externe le mieux est de faire un projet Qt les contenant une fois pour toute puis de l'importer (import project as library, voir http://www.bouml.fr/doc/index_package.html) dans vos autres projets où vous avez besoin des classes Qt. L'avantage de l'import project as library est que ce qui est importer ainsi ne peut être modifié par erreur, et que vous pouvez faire des mises à jour

Pour faire ce projet Qt vous si seules les noms de ces classes vous intéresse (c.a.d. pas de membres ou autre détails) vous pouvez le faire à la main et peut être en plusieurs fois au fur et à mesure qu'une classe est importante pour vous, en modific

L'autre solution est d'utiliser le reverse, par exemple en reversant /usr/include/Qt si vous êtes sous Linux, mais vous aurez tous les membres ce qui risque de vous gêner. Vous pouvez aussi extraire automatiquement via grep et autre awk sous Linux/Unix la liste des classes des sources de Qt pour ne produire que des formes "class XXX {}" dans un/des fichiers que vous reverser ensuite pour n'avoir que les classes sans leurs membres.
Pour passer les classes en externe alors qu'il y en beaucoup moi j'écrirai un plug-out, en fait ce plug-out pourrait tout aussi bien chercher les classes dans les sources de Qt et les déclarer externe directement ;)

Si vous utilisez le reverse sur les sources de Qt il faut éliminer les macros QT_xxx et Q_xxx qui sans cela produisent des erreurs de syntaxe, soit vous faites une copie des sources de Qt pour les éliminer via sed ou autre, soit vous utilisez la propriété #file au reverse (voir http://www.bouml.fr/doc/index_cppreverse.html ) indiquant un fichier contenant quelque chose comme (je n'ai pas vérifié que c'est suffisant) :
Code: Select all
QT_BEGIN_HEADER
QT_BEGIN_NAMESPACE
QT_MODULE=//
Q_OBJECT
Q_PROPERTY=//
QT3_SUPPORT_CONSTRUCTOR
QT_END_NAMESPACE
QT_END_HEADER
Q_DISABLE_COPY=//
Q_COMPAT_EXPORT
Q_SIGNALS
Q_SLOTS


Qu'est-ce qui vous tente le plus ?
Vous sentez-vous d'attaque pour écrire le simple plug-out que je propose de faire ?
Quelle version de Qt utilisez-vous ?
ImageAuthor of Bouml
Bruno Pagès
 
Posts: 474
Joined: Mon 20 Feb 2012 08:23
Location: France

Re: Utilisation classe Qt

Postby victorien » Fri 25 Mar 2016 06:16

Merci pour ces précieux conseils. Je vais les étudier et les essayer.
Pour la solution plugout, cela me semble encore trop abstrait après la lecture du manuel de référence. Il faut que je trouve une exemple concret pour bien comprendre.
Je vous dirais mon choix ultérieurement.
victorien
 
Posts: 9
Joined: Fri 11 Mar 2016 05:27

Re: Utilisation classe Qt

Postby Bruno Pagès » Fri 25 Mar 2016 07:46

Faire un plug-out n'est pas si compliqué

A la limite je pourrais très bien le faire (avec une implémentation basée sur Java et non C++ qui demande plus pour compiler) et l'expliquer, un peu comme j'avais fait fait il y a longtemps avec le plug-out de tri
ImageAuthor of Bouml
Bruno Pagès
 
Posts: 474
Joined: Mon 20 Feb 2012 08:23
Location: France


Return to Open discussions / Discussions ouvertes

Who is online

Users browsing this forum: No registered users and 1 guest

cron