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. #1
    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 [Exercice Qt] Color picker, deuxième partie lancée !
    Mise à jour : 09/09/2010

    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 !

    Citation Envoyé par Message original
    Bonjour à tous,

    Nous savons que vous attendez avec impatience le prochain défi Qt, cependant un défi de qualité prends du temps à organiser et mettre en place. Pour palier à votre envie de développer et de vous faire les dents sur un nouveau projet, nous vous proposons un nouveau concept : les exercices Qt

    Le principe

    Des petits sujets réguliers pour lesquels vous pouvez apporter une solution en détaillant quelques étapes clés imposés. La durée de l'exercice dépendra de la difficulté de l'énoncé. Il est possible qu'un sujet conséquent en travail soit proposé et ainsi découpé en plusieurs parties représentant une suite d'exercices sur le même thème.

    Tout le monde peut ainsi proposer une solution pour répondre à l'exercice posé. Dans le cas d'un exercice en plusieurs parties, la meilleure solution pourra être utilisée par les autres participants pour la suite de l'exercice.

    Il est impossible pour l'équipe de réunir un jury et réaliser un barème aussi poussé que celui des défis Qt. La meilleure solution sera ainsi désignée d'un point de vue plus subjectif que pour les défis Qt par les responsables de la rubrique Qt, à savoir dourouc05 et moi-même et éventuellement d'autres membres de l'équipe Qt en fonction des disponibilités de chacun.

    Les exercices seront ainsi proposés le vendredi (vous permettant d'y travailler dès le week end après avoir découvert le nouveau sujet). La fin du dépôt des propositions aura lieu le vendredi soir à 23h59, un certain nombre de semaines (dépendant de la difficulté de celui-ci) après la présentation du sujet et le vainqueur sera désigné dans la semaine suivante avant la proposition du nouvel exercice.

    Nous essayerons de faire attention à ce qu'il n'y ait pas de copie entre les codes des participants en appliquant la règle que le premier code publié sur le forum "appartient" au membre l'ayant posté. Il existe bien sur des réponses à ces solutions sur internet, mais quel est l'intérêt pour vous de les utiliser ?

    Le premier sujet !

    Le thème

    Ce premier exercice fait parti d'un thème qui est la réalisation d'un color picker. Ci-dessous, quelques color pickers connus mais libre à vous de faire travailler votre imagination pour nous donner une meilleure solution au final :



    Ce thème est découpé en trois parties qui toutes durent deux semaines. Un nouvel énoncé d'exercice sera donc publié toutes les trois semaines (en comptant la semaine de correction).

    Première partie : widget personnalisé pour affiche et sélectionner la nuance de gris d'une couleur

    Création d'un widget permettant de sélectionner la nuance de gris à partir d'une couleur. Seul le widget affichant le gradient de la nuance de gris sur une couleur sera évalué mais votre fenêtre peut afficher la couleur en cours et les valeurs de celle-ci pour démontrer le bon fonctionnement de celui-ci.

    Le widget peut être carré, rectangulaire, sphérique, en cercle, libre à votre imagination.

    Les étapes d'explications imposées :

    1. Mise en place de la structure du widget (héritage, composition...) ;
    2. Réalisation du gradient ;
    3. Séléction et récupération de la couleur à partir du gradient.


    Vous avez donc jusqu'au vendredi 3 septembre 23h59 pour nous fournir une solution. Le dépôt des solutions ce fait sur le forum à la suite de ce message.

    J'espère que l'idée vous plait, n'hésitez pas également à nous faire part de votre participation à la suite de ce message, de présenter votre solution en avant première et je finirai par dire : à vos claviers !

  2. #2
    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,
    les liens images sont brisés : /

    Autrement pensez vous que ces défis soit accessible à des non initiés de qt ?

    a plus

  3. #3
    Membre actif
    Avatar de GreatTux
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2009
    Messages
    77
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Octobre 2009
    Messages : 77
    Points : 287
    Points
    287
    Par défaut
    L'utilisation de QML est-elle autorisée ?

    kaymak: je pense justement que c'est tout à fait adapté aux débutants pour découvrir Qt
    Nokia certified Qt developer
    Mon profil Linkedin

  4. #4
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Août 2008
    Messages
    26 609
    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 609
    Points : 188 580
    Points
    188 580
    Par défaut
    Citation Envoyé par kaymak Voir le message
    les liens images sont brisés : /
    Je viens de les héberger sur la rubrique et non sur le forum, ça devrait aller mieux (même si je les voyais ).

    Citation Envoyé par kaymak Voir le message
    Autrement pensez vous que ces défis soit accessible à des non initiés de qt ?
    Parfaitement ! Justement, si on a divisé l'exercice en plusieurs parties, c'est pour ne pas décourager les débutants de se lancer dans l'aventure ! Si tu as besoin d'aide, n'hésite pas à poster sur les forums (Débuter).

    Citation Envoyé par GreatTux Voir le message
    L'utilisation de QML est-elle autorisée ?
    Ce n'est pas du tout interdit, c'est l'une des nombreuses possibilités ! Laisse aller ton imagination, laisse-la te porter dans l'univers de Qt et ses myriades de possiblités, tout est accepté .
    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. #5
    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
    Fini !

    Images attachées Images attachées  

  6. #6
    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
    mouarf, j'en suis encore à chercher comment atteindre ma frame dans mon ui

  7. #7
    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
    Fini !

    C'est pas tout d'avoir un screenshot (qui a dit photo montage ?) il faut aussi avoir un code propre et de belles explications pour gagner

    Les étapes d'explications imposées :

    1. Mise en place de la structure du widget (héritage, composition...) ;
    2. Réalisation du gradient ;
    3. Sélection et récupération de la couleur à partir du gradient.
    Est ce que la sélection de couleurs fonctionne ? N'as tu pas une idée plus original que le carré de photoshop Je dis ça c'est pour pas que tu t'ennuie pendant les 2 prochaines semaines !

  8. #8
    Invité
    Invité(e)
    Par défaut
    Très bonne initiative, et moi qui m'ennuyait sans défi ! Mais j'aurais dis Atelier Qt que Exercices Qt, enfin bref...

    Pour les prochains thèmes d'exercices nous pouvons vous envoyez des sujets complets ?

    Sur ce moi je commence.

  9. #9
    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
    La version QML... qui ne fonctionne pas



    La gestion de la souris fonctionne mais aucune idée de comment récupérer la couleur sélectionnée... A suivre
    Images attachées Images attachées  

  10. #10
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 033
    Points : 13 968
    Points
    13 968
    Par défaut
    Tu fait comment l'image de dégradé en fond? A la main ou avec une des classe QGradient?
    A part le faire à la main, je ne voie pas trop comment.

  11. #11
    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
    J'utilise les gradients (obligatoire pour changer la couleur principale dynamiquement)

    J'ai posé la question du color picking sur le QDN, ce n'est effectivement pas possible de faire cela avec le QML. Il faut ruser...

  12. #12
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 033
    Points : 13 968
    Points
    13 968
    Par défaut
    Citation Envoyé par gbdivers Voir le message
    J'utilise les gradients (obligatoire pour changer la couleur principale dynamiquement)
    tu utilise les gradients j'avoue je vois absolument pas comment
    moi je l'ai fait à la main

    Citation Envoyé par gbdivers Voir le message
    J'ai posé la question du color picking sur le QDN, ce n'est effectivement pas possible de faire cela avec le QML. Il faut ruser...
    donc je connais la couleur en fonction du point x-y

  13. #13
    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
    Que veux tu dire par "à la main" ? Genre photoshop et export d'une image ?

  14. #14
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 033
    Points : 13 968
    Points
    13 968
    Par défaut
    Citation Envoyé par gbdivers Voir le message
    Que veux tu dire par "à la main" ? Genre photoshop et export d'une image ?
    j'ai créé l'image de gradient du fond en code grâce à QColor et à l'espace HSV.
    J'obtiens la même image que toi (à l'oeil nue en tous cas).

    Pour ton problème avec qml, ce qui m'étonne c'est que ce n'est pas le même problème que ta version sans qml. Car il faut bien à un moment ou un autre retrouver la couleur en fonction de la position x-y.

  15. #15
    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
    j'ai créé l'image de gradient du fond en code grâce à QColor et à l'espace HSV.
    J'obtiens la même image que toi (à l'oeil nue en tous cas).
    Ok, je comprend l'idée.

    Pour ton problème avec qml, ce qui m'étonne c'est que ce n'est pas le même problème que ta version sans qml. Car il faut bien à un moment ou un autre retrouver la couleur en fonction de la position x-y.
    Si j'en dis trop, l'exo perd de son intérêt, non ?

  16. #16
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 033
    Points : 13 968
    Points
    13 968
    Par défaut
    Citation Envoyé par gbdivers Voir le message
    Si j'en dis trop, l'exo perd de son intérêt, non ?
    ^^ pas de problème. J'attendrais la fin. Mais ça m'intrigue.

  17. #17
    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
    Du coup, je comprend mieux les questions concernant l'encodage des couleurs (HSV, CMYK, YMCA...)

  18. #18
    Invité
    Invité(e)
    Par défaut
    Moi j'ai fait un petit truc mais ça ne ressemble pas à ce que vous avez fait...



    En fait je joues avec le format HSV, et j'ajuste la valeur (entre 0 et 255) d'une couleur donnée par un QColorDialog. Bon j'admet... je ne comprends rien à l'énoncé.
    Images attachées Images attachées  

  19. #19
    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
    Le but n'est pas de faire exactement la même chose, juste de pouvoir modifier les nuances de gris d'une couleur.

    Par contre, ça serait bien peut être de pouvoir aussi choisir les nuances plus claires (du vert vers le blanc)

  20. #20
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 033
    Points : 13 968
    Points
    13 968
    Par défaut
    Citation Envoyé par gbdivers Voir le message
    Du coup, je comprend mieux les questions concernant l'encodage des couleurs (HSV, CMYK, YMCA...)
    ? quelles questions?

Discussions similaires

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

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