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 Quick Discussion :

Dessiner une ligne


Sujet :

Qt Quick

  1. #1
    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 Dessiner une ligne
    Bonjour à tous

    C'est souvent avec les choses simples que l'on a du mal...
    Quelqu'un sait comment dessiner une simple ligne en QML ?

  2. #2
    Membre expérimenté

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2009
    Messages
    1 009
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

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

    Informations forums :
    Inscription : Mai 2009
    Messages : 1 009
    Points : 1 738
    Points
    1 738
    Par défaut
    Une ligne droite ? Un rectangle d'épaisseur 1 ?

  3. #3
    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
    en règle général (oui, on peut créer un rectangle d'épaisseur 1 puis faire une rotation pour le mettre comme on veut... c'est pas propre)

  4. #4
    Membre expérimenté

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2009
    Messages
    1 009
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

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

    Informations forums :
    Inscription : Mai 2009
    Messages : 1 009
    Points : 1 738
    Points
    1 738
    Par défaut
    Qt Quick étant très jeune, y'a pas énormément de composants complexes et de possibilités, l'argument étant qu'on peut les développer en C++. Après je ne connais pas assez pour te dire s'il y a mieux...

  5. #5
    Rédacteur
    Avatar de Amnell
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2009
    Messages
    1 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 840
    Points : 5 545
    Points
    5 545
    Par défaut
    Bonjour,

    Je confirme ce que dit Troudhyl. Cependant, rares sont les cas où on a besoin de dessiner une simple ligne dans une interface graphique. Si c'est pour réaliser un séparateur, un rectangle d'épaisseur 1 correspond et peut être utilisé. Dans un sens, c'est d'ailleurs plus logique vu qu'une ligne n'a en théorie pas d'épaisseur. Après, on a la solution du paint() d'une classe C++ héritant de QDeclarativeItem. S'il s'agit vraiment de faire du dessin de formes classiques, il pourrait être intéressant d'utiliser ceci : http://qt.gitorious.org/qt-labs/qmlcanvas.

    Bonne journée,
    Amnell.
    N'oubliez pas de consulter la FAQ Qt ainsi que les cours et tutoriels C++/Qt !

    Dernier article : Débuter avec les Enlightenment Foundation Libraries (EFL)
    Dernières traductions : Introduction à Qt Quick - Applications modernes avec Qt et QML
    Vous cherchez un livre sur Qt 5, Qt Quick et QML ? Créer des applications avec Qt 5 - Les essentiels

  6. #6
    Membre actif Avatar de gassi64
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juin 2008
    Messages
    255
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2008
    Messages : 255
    Points : 230
    Points
    230
    Par défaut
    Pour ceux qui ont la flemme, en pur QML, quelque chose comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    Rectangle {
        objectName: "basicLine"
     
        property int x_start : 0
        property int y_start : 0
        property int x_end : 0
        property int y_end : 0
     
        x: x_start
        y: y_start
        width: Math.sqrt ( (x_end - x_start) * (x_end - x_start) + (y_end - y_start) * (y_end - y_start) )
        height: 1
     
        rotation: Math.atan2 (y_end - y_start, x_end - x_start) / Math.PI * 180
        transformOrigin: Item.TopLeft
    }
    (Ce n'est pas propre? )

  7. #7
    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
    Citation Envoyé par gassi64 Voir le message
    (Ce n'est pas propre? )
    Non

  8. #8
    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
    Je me suis déjà posé la question aussi (sans chercher la réponse :p)

    J'ai l'impression que qml est encore assez pauvre de ce côté. Dessiner une ligne, un triangle ou un autre polygone peut paraître assez compliqué :p

    En Qt4: QML 1.0, on pourrait faire un QDeclarativeItem et dessiner avec QPainter, donc là on fait assez facilement tout ce qu'on veut.

    L'équivalent Qt5 est possible, mais il faut connaitre et comprendre le nouveau scenegraph, puis je pense dessiner avec des directives openGL...
    Il y aurait petre moyen de faire un module annexe pour Qt5 avec toute une série de formes, composant de dessin, ça pourrait être sympa.

  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
    En fait, dans Qt Quick 2, plus de problème. Il y a un nouvel élément Canvas, équivalent à canvas du HTML 5, qui permet de dessiner en 2D comme dans QPainter.

Discussions similaires

  1. Dessiner une ligne
    Par hbzied dans le forum Interfaces Graphiques en Java
    Réponses: 4
    Dernier message: 26/04/2006, 20h01
  2. Comment dessiner une ligne dans un Chart ?
    Par libititi dans le forum Composants VCL
    Réponses: 3
    Dernier message: 16/06/2005, 14h56
  3. [Image]Dessiner une ligne en dynamique
    Par Bugmaster dans le forum AWT/Swing
    Réponses: 8
    Dernier message: 02/08/2004, 11h56
  4. Dessiner une ligne
    Par Bugmaster dans le forum 2D
    Réponses: 6
    Dernier message: 29/07/2004, 08h36
  5. Dessiner une ligne dans un cube transparent ?
    Par Muetdhiver dans le forum OpenGL
    Réponses: 4
    Dernier message: 04/05/2004, 11h06

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