Bienvenue sur le forum !

Si vous souhaitez rejoindre la communauté, cliquez sur l'un de ces boutons !

Qt 5 : 5.7.1 - Qt Creator : 4.2.0 - Qt Installer : 2.0.3 - JOM : 1.1.2 - Qt Build suite : 1.7.0 - VS Qt 5 : 2.0.0

QExtend

Bonjour,

Nous sommes heureux de vous annoncer la création du projet QExtend :
http://projets.developpez.com/projects/qextend

QExtend est une bibliothèque C++ développée par l'équipe Qt de la communauté Developpez.com. Son objectif est d'étendre et de simplifier l'utilisation de Qt ainsi que celle d'autres bibliothèques (Qwt, OpenCV...).

Le projet venant de commencer, il n'y a pas encore énormément de choses disponibles sur le repository. Toutefois, nous pouvons vous faire part d'une bonne liste de fonctionnalités prévues :
* Pointeurs intelligents ;
* Manipulateurs de layouts, signaux/slots et XML ;
* Détection d'appui sur des touches du clavier ;
* Classes d'aide pour QGraphics ;
* Logger ;
* Widgets, comme un menu de fichiers récemment ouverts ;
* CUDA ;
* Qwt ;
* Trouver la grande question sur la vie, l'univers et le reste.

Et ce n'est qu'un petit résumé !

Si vous avez des questions, des remarques, des propositions, n'hésitez pas à nous les proposer sur ce thread.

Une fois connecté sur le gestionnaire de projets, vous pourrez aussi nous remonter les bogues rencontrées ou proposer des améliorations.

Réponses

  • Bonjour Yann,
    Une "petite" suggestion concernant votre lib. A mon avis le challenge est très hardu...
    Rendre compatible le système moc_ pour les classes templates.
    Perso je trouve que cela manque...
    Plus d'info : http://doc.qt.nokia.com/4.6/templates.html
    @ +
  • April 2010 modifié
    Salut.
    Le problème de moc avec les template, c'est le membre static constituant les metadata.

    Y aura donc des choses faisable, mais pas tous ou difficilement. Comme par exemple un paramètre d'un signal ou slot en fonction de T.
    Il faut en gros redéfinir ce que contient Q_OBJECT à la main.

    Une solution intermédiaire est de faire une classe qui définie les slot (en virtuel, suivant ce que tu veut) et les signaux. La classe template en hérite et aura donc ces slots et signaux.
  • yan said:
    Y aura donc des choses faisable, mais pas tous ou difficilement. Comme par exemple un paramètre d'un signal ou slot en fonction de T.
    Il faut en gros redéfinir ce que contient Q_OBJECT à la main.
    Une solution intermédiaire est de faire une classe qui définie les slot (en virtuel, suivant ce que tu veut) et les signaux. La classe template en hérite et aura donc ces slots et signaux.
    Ok !!
  • Bonjour,

    Bravo pour l'initiative,

    Est-ce que vous avez déjà des idées derrière la tête pour la partie OpenCV ?
    En quoi cela consisterait-il ? Quelle est l'idée générale ?

    Merci
  • ness said:
    Bonjour,

    Bravo pour l'initiative,

    Est-ce que vous avez déjà des idées derrière la tête pour la partie OpenCV ?
    En quoi cela consisterait-il ? Quelle est l'idée générale ?

    Merci
    Si je ne me trompe pas (Ce n'est pas ma partie), a peu prés :
    - conversion QImage <->OpenCV
    - classe intermédiaire entre QImage et OpenCv qui permet d'appliquer les algo OpenCv
    - widget d'affichage

    Tu peut demander ici pour plus de détail (faut se connecter avec un login/mdp dvp par contre...) :
    http://projets.developpez.com/issues/640
  • Intéressant, je vais me tenir au courant voire mettre mon grain de sel :p
  • ness said:
    Intéressant, je vais me tenir au courant voire mettre mon grain de sel :p
    redmine est fait pour cela :D
    merci pour les encouragements.
    On espère réussir à un truc cohérent et pratique.
  • Bonnes idées bravo !

    par conter pourquoi faire encore une lib externe alors que Qt4 est maintenant open à 100% ?
    pourquoi ne pas ouvrir un repos dans le gitorious, développer tranquille et un jour demander un merge ?
    cela serait bien mieux AMHA ! perso j'utilise rarement des lib externes à Qt car cela me complique la vie pour le dev, la compil et le déploiement...
  • TheBootroo said:
    Bonnes idées bravo !
    merci :D
    TheBootroo said:
    par conter pourquoi faire encore une lib externe alors que Qt4 est maintenant open à 100% ?
    pourquoi ne pas ouvrir un repos dans le gitorious, développer tranquille et un jour demander un merge ?
    par ce que l'on veut faire un tous cohérent basé sur Qt. C'est de la spécialisation par rapport à nos divers expérience. Parfois de l'expérimentation. De plus en quoi ajouter des classes par rapport à OpenCv ou Qwt est pertinent dans Qt? Cela n'est pas cohérent. Je voie mal une personne devoir recompiler Qt juste pour utiliser la dernière version d'OpenCv ou Qwt.
    Mais si certaine classe le mérite, on y réfléchira certainement.


    Par exemple, j'ai créé des classes pour écrit les connect d'une nouvelle manière avec les opérateurs de stream. Ça permet de faire
    RECEIVER( this , update() )  << EMITTER ( w1 , needUpdate() )
    << EMITTER ( w2 , needUpdate() )
    << EMITTER ( w3 , needUpdate() );
    Je ne voie pas trop en quoi cela serait pertinent d'être dans Qt.
    TheBootroo said:
    cela serait bien mieux AMHA ! perso j'utilise rarement des lib externes à Qt car cela me complique la vie pour le dev, la compil et le déploiement...
    tous dépens de la lib. Nous on se base sur qmake. On va essayer de rendre cela le plus simple possible.
  • ok merci pour les infos ;-)
  • c'est surtout nos qui remercions.
    Plus on aura de remarque et proposition, plus on as des chances d'aboutir à quelques choses d'intéressant ou plus :D
  • July 2010 modifié
    Oyé, oyé, braves gens, damoiseaux et damoiselles !
    En ces jours ensoleillés, nous sommes heureux de vous présenter la version gamma de QExtend 8-)

    Le but de cette version est de vous montrer à quoi va ressembler QExtend et avoir un maximum de retours de votre part. Voici ce que vous allez y trouver :

    *Emitter/Receiver : nouvelle méthode pour créer vos connexion ;
    *ExtendPtr et ObjectPtr : pointeur intelligent un peu particulier ;
    *Parser JSon ;
    *Système de log ;
    *Liste de QObject ;
    *Un tableau en deux dimensions ;
    *Un plugin DevIL pour la lecture d'image ;
    *Mesure de temps ultra précise ;
    *Gestion d'application avancée ;
    *Widget de visualisation d'image (attention ! dans la release, ça va dépoter !) ;
    *Un agrégateur de signaux pour en créer un nouveau(SignalCheckPoint) ;
    *Un planificateur d'action (ActionScheduler), qui permet de ne pas lancer un action si la précédente n'est pas finie et de la planifier juste après.Pour éviter les appels intempestifs, une seule planification est gardée.


    Vous y trouverez également des démos pour illustrer l'utilité de ces composants, ainsi que leur méthode de fonctionnement. La doc en français et en anglais se trouve ici :
    http://qt.developpez.com/doc/qextend/0.0.1/fr/
    http://qt.developpez.com/doc/qextend/0.0.1/en/

    Vous trouverez un 7z des sources sur cette page :
    http://projets.developpez.com/attachments/download/478/QExtend_V0.0.1.7z

    Pour compiler, c'est très simple :
    * Pour Qt creator : ouvrir le fichier qextend.pro ;
    * Avec QMake : aller dans le repertoire racine et faire

    *qmake -r
    *nmake ou make suivant votre environnement de développement


    N'hésitez pas à nous faire vos remarques ou à poser des questions à la suite de ce thread. Si vous avez des idées, n'hésitez pas à ajouter une demande sur Redmine

    :merci:
  • Avec Qt 4.7 qui sort bientôt, on s'est dit, si l'on pouvais faire quelque chose dessus. Puis une petite m'est survenue.

    *Tiens y as un exemple de script qui permet de faire du dessin comme sur un canvas html5
    *Canvas html5? ha oui le truc qui va concurencer flash sur le web
    *Zut, j'ai pas de quoi dessiner avec qml :cry:
    *Et si je faisait une sorte de canvas html5 pour QML ?


    Es ce une si mauvaise idée? je vous laisse juger

    http://www.youtube.com/watch?v=3w8IwCVQGAs
    http://www.youtube.com/watch?v=gfKDdyGuzeI
    http://www.youtube.com/watch?v=4mx-1oIm1CI

    :D
    Le sources et les exemples sont sur la branch dev du svn.

    Il existe d'autre projet similaire :
    qml painter plugin
    qm lcanvasplugin
  • September 2010 modifié
    Encore 2 petites
    http://www.youtube.com/watch?v=3MPtMPL-W7k
    http://www.youtube.com/watch?v=RVhJKHsG2YY
    et une denière pour les connaisseurs
    http://www.youtube.com/watch?v=e_uy1znG_0g
    oui oui c'est bien de la 3D. C'est un début de support de WebGl dans QML :D
  • Bonjour.
    Histoire de montrer que ce projet vie, vici une petite vidéo de la démo Morphing, exploitant les nouvelles classes ajoutées à QExtend
    http://www.youtube.com/watch?v=wi9h2rq8lGA

    Si vous voulez vous amuser,n'hésitez pas à récupérer les sources et à compiler la démo ;)
  • Pour ceux qui veulent tester les demo, voici une archive pour windows
    http://ftp-developpez.com/yan-verdavaine/QExtend/QExtend-demo.7z

    Normalement tout est là.
    qmlviewer et qmlviewerOpengl.bat ne font pas partie du projet mais servent à tester les demo qml.

    N'hésitez pas à donner vos impression ;)
Connectez-vous ou Inscrivez-vous pour répondre.