IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Naissance du projet QExtend
Un projet lancé par la rubrique Qt pour vous simplifier Qt

Le , par dourouc05

109PARTAGES

0  0 
Update 17-12-2010
Code : Sélectionner tout
1
2
3
4
5
6
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 ;)


update 6 juillet 2010

Oyé, oyé, braves gens, damoiseaux et damoiselles !
En ces jours ensoleillés, nous sommes heureux de vous présenter la version gamma de QExtend

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/attach...tend_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
  1. qmake -r
  2. 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



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. Si vous utilisez d'ores et déjà QExtend, nous vous proposons d'ajouter un tag [QExtend] au titre de votre message.

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

Si vous souhaitez participer au projet, manifestez-vous ici, nous vous recontacterons.

Citation Envoyé par yan
Il y as déjà plus de 1000 lectures en 24 heure de fin de ce thread .
Je ne m'attendais pas à un tel intérêt :

Si vous avez envie de nous aider, ne serai ce qu'un petit peu, il y as différente manière possible :
  1. donner votre avis et vos encouragement sur ce thread
  2. proposer des évolutions dans redmine
  3. remonter des bug dans redmine

pour faire une demande d'évolution ou de correction de bug dans redmine, il vous suffit de vous connecter (même login/password que dvp) à cette page
http://projets.developpez.com/login
et de faire la demande sur cette page :
http://projets.developpez.com/projec...end/issues/new

à vous

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de lollancf37
Membre régulier https://www.developpez.com
Le 13/04/2010 à 10:29
Sa a l'air intéressant en tout cas !
Je vais surement me remettre a faire des IHM en C++ avec le sourire ^^
0  0 
Avatar de manudwarf
Membre éclairé https://www.developpez.com
Le 13/04/2010 à 10:45
CUDA ? Ça ne va pas en doublon avec le futur QtOpenCL ?
0  0 
Avatar de dourouc05
Responsable Qt & Livres https://www.developpez.com
Le 13/04/2010 à 10:59
CUDA et OpenCL, c'est pas vraiment la même chose : NVIDIA implémente OpenCL avec CUDA, mais CUDA évolue plus vite (seul NVIDIA travaille dessus), a plus de fonctionnalités (pour le moment), et je n'ai pas encore entendu parler de projet professionnel utilisant OpenCL, au contraire de CUDA. Tu as aussi une belle série de projets pour simplifier CUDA (comme un port de la STL pour CUDA : tu prend ton code pour la STL, tu gères très basiquement - simple copie - les transferts vers le GPU, et tu gardes ton algo - ou alors tu changes des noms de variables qui auront changé). Tout ça pour dire que, actuellement, CUDA est plus avancé qu'OpenCL, c'est la référence pour le moment. Même si c'est pas très ouvert, contrairement à OpenCL.
0  0 
Avatar de manudwarf
Membre éclairé https://www.developpez.com
Le 13/04/2010 à 11:08
Je faisais référence à l'annonce sur le QtLabs de la création du module QtOpenCL
0  0 
Avatar de bobti89
Membre habitué https://www.developpez.com
Le 13/04/2010 à 12:58
Oui c'est une bonne idée Tout ca est très intéressant !
J'aimerais bien y participer, ca me permettrait de faire quelques efforts de propreté dans mon code et d'apprendre plein de choses de Qt

Il manque certaine chose à Qt et c'est pour ca que j'ai codé ma petite bibliothèque perso, c'est peut-être une occasion d'améliorer celle-ci et de la partager !

Parmi les fonctionnalités rajoutées j'ai :
  • Gestion de fichiers binaires bits à bits.
    Il manque à Qt une classe comme QBitStream, même si je ne vois pas trop comment gérer ca. J'ai alors codé une classe FileBit qui contient un QFile (interface plus restrictive que QFile donc je ne peux pas hériter) et dont l'interface est :
    Code : Sélectionner tout
    1
    2
    3
    4
    5
    6
    7
    8
    9
    bool open( const QString& filename, const QIODevice::OpenMode mode );
    bool isOpen();
    int read( unsigned int* value, const unsigned int bits_count );
    int readBit( unsigned int* value );
    //Ecrit `value` sur `bits_count` bits dans le fichier
    int write( const unsigned int* value, const unsigned int bits_count );
    bool eof() const;
    void close();
    quint64 size() const;
    Bon comme je disais il y a pas mal de choses à améliorer mais c'est une idée à approfondir !
  • Timer précis.
    Gestion de timer plus précis que la millisecondes. Ma classe gère Windows et UNIX récent avec une précision à la microseconde.
  • Classes pour gérer le SSE.
  • Arbre lexicographique (gestion de dictionnaire).
    Permet des requêtes extrêmement rapide pour savoir si un mot appartient à un dictionnaire.
  • Requêtes web pour trouver la définition d'un mot.
    Recherche automatique de définitions sur internet (en allant cherché sur wiktionary par exemple).
0  0 
Avatar de yan
Rédacteur https://www.developpez.com
Le 13/04/2010 à 13:20
Citation Envoyé par bobti89 Voir le message

  • Gestion de fichiers binaires bits à bits.
    Il manque à Qt une classe comme QBitStream, même si je ne vois pas trop comment gérer ca.
QdataStream avec un QFIle?? en plus ca gère l'endian

Citation Envoyé par bobti89 Voir le message

  • Timer précis.
    Gestion de timer plus précis que la millisecondes. Ma classe gère Windows et UNIX récent avec une précision à la microseconde.
  • Classes pour gérer le SSE.
  • Arbre lexicographique (gestion de dictionnaire).
    Permet des requêtes extrêmement rapide pour savoir si un mot appartient à un dictionnaire.
  • Requêtes web pour trouver la définition d'un mot.
    Recherche automatique de définitions sur internet (en allant cherché sur wiktionary par exemple).
très intéressant.
Pour sse, est il possible de faire abstraction du système aussi facilement?
0  0 
Avatar de bobti89
Membre habitué https://www.developpez.com
Le 13/04/2010 à 13:54
Citation Envoyé par yan Voir le message
QdataStream avec un QFIle?? en plus ca gère l'endian
QDataStream marche super bien, mais c'est ce que j'appelle de la gestion au byte et non au bit.
Avec ma classe on peut écrire par exemple 7 sur 4 bits puis 10 sur 4 bits ce qui nous donne un octet qui contient en binaire : 01111010 ( 0111 = 7 et 1010 = 10 ). C'est très pratique pour écrire des flux compressé !
Ah tien ca me donne une autre idée : une gestion d'archive (avec plusieurs fichiers et/ou dossiers) avec compression (par exemple une interface avec la bibliothèque de 7zip).

Citation Envoyé par yan Voir le message
Pour sse, est'il possible de faire abstraction du système aussi facilement?
Non malheureusement, on est obligé d'écrire des fonctions qui testent si les instructions SSE sont présentes. Ma classe actuelle n'a pas ces fonctions, je ne sais d'ailleurs même pas comment on fait pour tester, mais elle permet d'écrire des choses comme ca :
Code : Sélectionner tout
1
2
3
Float4 v( 0.0, 1.0, 2.0, 5.0 );
v *= 2.0; //v contient ( 0.0, 2.0, 4.0, 10.0 )
Float4 v2 = v * v; //v2 contient ( 0.0, 4.0, 16.0, 100.0 )
Bien sur toutes ces opérations se font en une seule instruction processeur
0  0 
Avatar de DSGSLA
Membre régulier https://www.developpez.com
Le 13/04/2010 à 15:22
Quelle est la licence d'utilisation de cette bibliothèque ?

Plusieurs fois sur le forum de l'aide a été demandé pour un éditeur de code. Un éditeur de code comme QScintilla avec la coloration syntaxique et la complétion serait utile.
0  0 
Avatar de johnlamericain
Rédacteur https://www.developpez.com
Le 13/04/2010 à 15:32
Citation Envoyé par DSGSLA Voir le message
Quelle est la licence d'utilisation de cette bibliothèque ?
La license est LGPL comme Qt.

Citation Envoyé par DSGSLA Voir le message
Plusieurs fois sur le forum de l'aide a été demandé pour un éditeur de code. Un éditeur de code comme QScintilla avec la coloration syntaxique et la complétion serait utile.
Oui cette idée a déjà été proposé par Amnell en interne et sera très certainement implémenté dans QExtend. Je pense moi même y participer.
0  0 
Avatar de yan
Rédacteur https://www.developpez.com
Le 13/04/2010 à 15:35
Citation Envoyé par DSGSLA Voir le message
Quelle est la licence d'utilisation de cette bibliothèque ?
LGPL
0  0