à tous,

Acte II, car il y a 2 ans 1/2, la même question a été posée avec des éléments de réponses : http://www.developpez.net/forums/d12...es-dynamiques/
Le sujet ayant été marqué RESOLU, j'ai préféré en refaire un, d'autant qu'au fond de moi, j'espère sincèrement que depuis une solution 100% QML a été mise en place.

Contrairement au premier sujet, pour ma part je souhaite uniquement récupérer des valeurs depuis un BDD et m'en servir pour tracer une courbe. Comme ça cela semble très simple, mais malheureusement je tourne en rond depuis un petit moment pour réaliser ceci.

Afin d'illustrer simplement mon cas, voici un morceau de code



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
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
import QtQuick 2.4
 
Canvas {
    id : canvas
    width: 500; height: 400
    contextType: "2d"
    transform: Rotation { origin.x: 0; origin.y: height/2; angle: 180; axis { x: 1; y: 0; z: 0 }}
 
    Component.onCompleted{
    }
 
    Path {
        id: myCurve1
        startX: 20; startY: 120
    }
 
    Path {
        id: myAxis
        startX: 20; startY: 20
        pathElements : [
              PathLine { x: 20 ; y: 300 },
              PathLine { x: 20 ; y: 20 },
              PathLine { x: 450 ; y: 20 },
              PathLine { x: 20 ; y: 20 }]
    }
 
    onPaint{
        context.strokeStyle = Qt.rgba(0,0,1);
        context.path = myAxis;
        context.stroke();
 
        context.strokeStyle = Qt.rgba(1,0,0);
        context.path = myCurve1;
        context.stroke();
        }
}
Dans mon programme, la courbe doit se charger lorsque je cliquerai sur un bouton. Pour simplifier l'exemple je pars non pas sur le signal onClicked de mon bouton mais sur Componet.onCompleted.

L'idée que j'ai eu ai de faire ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
Componet.onCompleted : {
myCurve1.pathElements =   [PathCurve { x: 40; y: 116 },
        PathCurve { x: 60; y: 112 },
        PathCurve { x: 80; y: 104 },
        PathCurve { x: 100; y: 96 },
        PathCurve { x: 120; y: 86 },
        PathCurve { x: 140; y: 76 },
        PathCurve { x: 160; y: 60 },
        PathCurve { x: 180; y: 44 },
        PathCurve { x: 200; y: 20 }]
Avec l'idée par la suite de récupérer mes infos depuis ma BDD et via une boucle for ajouter mes points dans une liste.

Mais la syntaxe ne convient pas.
J'ai beau chercher sur le web, je n'ai rien trouvé de concluant, ou sinon je suis vraiment passé à coté de quelque chose.

Avez-vous une idée ?

D'avance merci.

++

J