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

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Qt Discussion :

[Exercice Qt] Color picker, deuxième partie lancée !


Sujet :

Qt

  1. #81
    Rédacteur

    Avatar de johnlamericain
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2004
    Messages
    3 742
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 3 742
    Points : 8 140
    Points
    8 140
    Par défaut Proposition pour la partie 2
    Seconde partie : accompagner le widget d'un sélecteur de couleur et amélioration de celui-ci

    L'objectif est de continuer le widget en l'améliorant et ajoutant d'autres fonctionnalités. Pour ceux qui n'auraient pas un widget fonctionnel, voici une archive contenant la classe du widget du vainqueur de la première partie à savoir gbdivers améliorée par mes soins pour prendre en compte les malus qui lui ont été mis à la correction !

    L'archive pour partie 2 !

    La première amélioration requise pour la partie deux est la création d'un slider permettant la création de la couleur principale (teinte ou hue en anglais). L'image ci-jointe vous montre de quoi je parle :



    Ce slider peut faire partie du widget ou être un widget indépendant. Je vous conseille de regarder la classe QSlider et les paramètres pour la personnalisée.

    De plus un ensemble de champ QLineEdit respectant un certain format QIntValidator devra permettre d'afficher et de modifier la valeur de la teinte, saturation ou valeur. En cas de modification, le changement se répercutera sur le widget par le déplacement du point de sélection. Il existe donc une connexion dans les deux sens entre ces différents éléments.

    Par la suite, il faudra modifier le widget existant pour permettre également d'afficher les dégradés de la saturation et de la valeur (et non plus la teinte, hue en anglais).

    Exemples :





    C'est tout pour les étapes imposées dans cette seconde partie qui durera deux semaines.

    Pour les personnes qui ont de l'avance, vous pouvez réfléchir à n'afficher que les couleurs disponibles pour le web et la représentation des dégradés dans les autres espaces colorimétriques.





    Si vous avez besoin d'explications supplémentaires, n'hésitez pas à poser des questions à la suite de ce message. De plus la correction et le code source de l'ensemble des candidats pour la première partie est disponible dans ce sujet.

    Bon courage !

  2. #82
    Membre émérite
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 448
    Points : 2 284
    Points
    2 284
    Par défaut
    hello,

    bravo gbdivers et à tous les autres : )

    Merci John et dourouc(?) pour la correction !

    La syntaxe n'est clairement pas très homogène, je vais faire plus d'effort, même si ce satané clavier mac ne m'y aide pas du tout !!
    Et non ce n'est pas une sinécure pour moi que de codé la dessus ; )
    <hs>
    C'est simple il n'y à pas de touche pour la pipe ou l'accolade.... C'est qd même terrible quand on sait que dessous ce cache la meilleure console réalisée.... Un excellent système de développement.... C'est plein de contre sens ces machines.
    </hs>

    Pour les conventions de nommage c'est tout à fais vrai, je dois bien dire que je ne savais même pas que les variables commençant avec un _ était réservé
    Il est vrai aussi que je n'ai pas essayé de me plier au qt-directives.

    Pour la compilation je dois bien avouer que je suis un peu couac !
    Avec tous les bugs de compilation que j'ai eu, je n'imaginais pas que se serait possible.
    <hs>
    Je me demande si les compilateurs c++ ont étaient pensés pour aider un petit peu le développeur et n'ont simplement l'amener à produire un code compilable. C'est une fine nuance...
    M'enfin sa compile, y'en à qui me dirait que c'est l'essentiel.
    </hs>

    Pour l'API fournit, je m'y suis un peu perdu aussi au bout d'un moment.
    J'avais déjà fais un certain travail pour la simplifier, mais je n'ai pas du prendre la bête dans le bon sens....
    Peut être n'aurais je pas dû commencer le projet avec qtcreator, ce point ne m'à personnellement pas beaucoup aider.
    Commencer from scratch m'aurais sûrement aidé à être plus à l'aise.
    Mais sûrement pas aussi concis que gbdivers, j'ai clairement de l'inspiration à prendre ; )

    C'est bien sympa ces petits exercices et les corrections sont très très appréciable !


    a +

  3. #83
    Rédacteur

    Avatar de johnlamericain
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2004
    Messages
    3 742
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 3 742
    Points : 8 140
    Points
    8 140
    Par défaut
    Citation Envoyé par kaymak Voir le message
    Merci John et dourouc(?) pour la correction !
    Oui nous avons fait la correction à deux !


    Citation Envoyé par kaymak Voir le message
    C'est bien sympa ces petits exercices et les corrections sont très très appréciable !
    De rien c'est fait pour ça même si ça prends du temps !

    Tu participes à la partie 2 ? Si oui tu reprends à partir de ton code ou celui de gbdivers que j'ai nettoyé ?

  4. #84
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Août 2008
    Messages
    26 618
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 26 618
    Points : 188 591
    Points
    188 591
    Par défaut
    Citation Envoyé par kaymak Voir le message
    Merci John et dourouc(?) pour la correction !
    En effet, à deux ça va plus vite, surtout quand les horaires ne sont pas fort conciliants (ça permet aussi de varier les plateformes disponibles, John n'ayant pas de Mac sous la main).

    Citation Envoyé par kaymak Voir le message
    <hs>
    Je me demande si les compilateurs c++ ont étaient pensés pour aider un petit peu le développeur et n'ont simplement l'amener à produire un code compilable. C'est une fine nuance...
    M'enfin sa compile, y'en à qui me dirait que c'est l'essentiel.
    </hs>
    Certaines évolutions du C++1x allaient justement en ce sens. Cf. le forum C++ pour plus d'infos : http://www.developpez.net/forums/d89...ft-disponible/. Aussi, n'oublie pas les warnings, ils sont là pour te dire qu'un truc pourrait ne pas aller à l'exécution mais ne cause pas de mal de tête au compilateur.

    Citation Envoyé par kaymak Voir le message
    Pour la compilation je dois bien avouer que je suis un peu couac !
    Avec tous les bugs de compilation que j'ai eu, je n'imaginais pas que se serait possible.
    Tu en as eu un énorme, que même Xcode n'a pas laissé passer (on n'a peut-être pas utilisé la même version). Il faut dire que ça ne m'était jamais passé dans la tête de faire ça (et on peut dire qu'il y a bien des choses pas nettes dedans pourtant !) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    class X {
    public: 
        void X::fct(void)
    };
    Enfin bon, c'est passé avec juste cette correction, donc bon !
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  5. #85
    Inactif  


    Homme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    5 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2008
    Messages : 5 288
    Points : 15 620
    Points
    15 620
    Par défaut
    Quelqu'un a déjà commencé cet exercice ? Des copies d'écran a montrer ?

  6. #86
    Rédacteur

    Avatar de johnlamericain
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2004
    Messages
    3 742
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 3 742
    Points : 8 140
    Points
    8 140
    Par défaut
    Citation Envoyé par gbdivers Voir le message
    Des copies d'écran a montrer ?
    Les montages photoshops ça compte ? Si oui, voir le sujet du dessus

  7. #87
    Inactif  


    Homme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    5 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2008
    Messages : 5 288
    Points : 15 620
    Points
    15 620
    Par défaut
    Bon, je n'ai personnellement pas commencé cet exercice... mais j'ai un peu de lecture pour ceux qui le souhaite

    Voici un petit pdf sur les méthodes d'optimisation de rendu pour générer les nuances de gris. J'ai écris quelques versions : utilisation d'un tampon mémoire pour gérer l'image à bas niveau, utilisation d'un algorithme incrémental (de type Bresenham) et utilisation de la carte graphique pour le rendu (OpenGL).

    Bonne lecture (et bon tests, je joins les zip des sources) :
    Images attachées Images attachées
    Fichiers attachés Fichiers attachés

  8. #88
    Membre averti

    Homme Profil pro
    Inscrit en
    Février 2010
    Messages
    243
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2010
    Messages : 243
    Points : 398
    Points
    398
    Par défaut


    Alors là je dois dire que c'est impressionnant !!!
    Très instructif.

    Si j'ai le temps ce week end je teste tout ça sur ma machine pour voir si j'ai +- les mêmes résultats

  9. #89
    Membre éclairé
    Avatar de myzu69
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2007
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2007
    Messages : 220
    Points : 744
    Points
    744
    Par défaut
    J'avais pas encore trouvé le temps de lire ton pdf gbdivers mais c'est vrai que c'est très instructif

    J'aurais jamais pensé à utiliser l'algo du point milieu pour dessiner un gradient. Pour tracer une ligne oui mais pour des couleurs ...

    Sinon c'est hallucinant les gains de performance que l'on obtient avec un rendu sur carte graphique, je me doutais bien que c'était plus rapide, mais 250 fois plus rapide ça devient bip-bip

  10. #90
    Inactif  


    Homme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    5 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2008
    Messages : 5 288
    Points : 15 620
    Points
    15 620
    Par défaut
    Petites précisions quand même :
    - l'article n'est pas définitif. On est en pleine discussion avec Yan pour améliorer le code et ajouter des explications. La version définitive sera sous forme d'article en ligne
    - sur windows, la méthode avec QLinearGradient est 10 fois plus rapide que sous linux
    - j'ai testé avec un carte graphique GTX 460... fps à 30000 ! soit 33 nanosecondes pour générer une image

    Bon, c'est pas tout ça, mais le but est quand même de faire la seconde partie de l'exo. Après vous pourrez lire

  11. #91
    Membre éclairé
    Avatar de myzu69
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2007
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2007
    Messages : 220
    Points : 744
    Points
    744
    Par défaut
    Citation Envoyé par gbdivers Voir le message
    La version définitive sera sous forme d'article en ligne
    C'est une super idée ça, comme ça se sera beaucoup plus visible. Ce sera une sorte de solution/idées d'améliorations de l'ensemble de l'exercice ou ce sera juste pour le widget du gradient (le pdf contiendrait donc déjà l'essentiel) ?

    Citation Envoyé par gbdivers Voir le message
    - sur windows, la méthode avec QLinearGradient est 10 fois plus rapide que sous linux
    C'est dû à quoi ça ? C'est normal ?

    Citation Envoyé par gbdivers Voir le message
    - j'ai testé avec un carte graphique GTX 460... fps à 30000 ! soit 33 nanosecondes pour générer une image
    Là ça commence à être vraiment rapide ... en même temps tout le monde n'a pas une GTX 460 sous la main

    Citation Envoyé par gbdivers Voir le message
    Bon, c'est pas tout ça, mais le but est quand même de faire la seconde partie de l'exo. Après vous pourrez lire
    C'est prévu, il faut juste que je trouve un peu de temps pour essayer ...

  12. #92
    Rédacteur

    Avatar de johnlamericain
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2004
    Messages
    3 742
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 3 742
    Points : 8 140
    Points
    8 140
    Par défaut
    Cela fait maintenant une semaine que cette deuxième partie est lancée, où en êtes-vous ? Trouvez vous que deux semaines c'est trop court pour ce qui est demander et vous auriez besoin d'une petit période supplémentaire ?

    En attendant quelques liens utiles pour la partie sur les couleurs web sécurisés :

    http://www.tonsite.info/couleur-securisee.html
    http://fr.wikipedia.org/wiki/Couleur...eau_de_couleur

  13. #93
    Rédacteur

    Avatar de johnlamericain
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2004
    Messages
    3 742
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 3 742
    Points : 8 140
    Points
    8 140
    Par défaut
    Aucune proposition de solution, même basique, n'a été proposé ce vendredi dernier.

    Je vous laisse donc jusqu'à vendredi prochain (1er octobre) pour proposer une solution à l'exercice, je suis sur que ceux qui ont déjà travaillé sur la première partie ne mettrons pas longtemps à faire une amélioration de leur solution.

    Si vous bloquez, avez la moindre question, c'est ici qu'il faut les poser.

    Bon courage

  14. #94
    Rédacteur

    Avatar de johnlamericain
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2004
    Messages
    3 742
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 3 742
    Points : 8 140
    Points
    8 140
    Par défaut
    Nous n'avons finalement pas eu de participants pour cette deuxième partie

    Probablement un problème de temps des membres du forums en cette période de reprise au mois de septembre.

    Si vous avez le temps de le faire plus tard, n'hésiter surtout pas à poster votre réponse ici. J'essayerais d'en faire rapidement une correction commenté !

    Nous essayerons peut être d'en proposer d'autres dans l'avenir cette fois en une seule partie que ça ne prenne pas trop de temps sur le long terme et à une période où les gens sont plus disponibles.

    À bientôt.

  15. #95
    Inactif  


    Homme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    5 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2008
    Messages : 5 288
    Points : 15 620
    Points
    15 620

Discussions similaires

  1. Color picker et dessin
    Par ediurne dans le forum ActionScript 1 & ActionScript 2
    Réponses: 0
    Dernier message: 23/05/2010, 18h26
  2. exemple color picker / roue chromatique
    Par korsakoff69 dans le forum DirectX
    Réponses: 1
    Dernier message: 16/01/2010, 10h28
  3. Controle: "Color picker"
    Par G_Kill dans le forum ASP.NET
    Réponses: 1
    Dernier message: 14/03/2007, 14h14
  4. Colorer une certaine partie du texte en console
    Par Geoff-sk8 dans le forum C
    Réponses: 9
    Dernier message: 14/01/2006, 19h40
  5. Mon alarme, deuxième partie!
    Par yongblood dans le forum Langage
    Réponses: 5
    Dernier message: 17/10/2005, 08h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo