Bonjour à tous,

J'ai inséré un graphe avec QwtPlot. J'y ai associé une QwtLegend. Les QwtPlotCurve créé sont associées au QwtPlot.
De cette manière les légendes sont automatiquement créées.

Le but est d'identifier quelle courbe a été sélectionné par son ID et non par son nom (ou titre de la courbe).

Pour gérer mes courbes, j'utilise

Code : Sélectionner tout - Visualiser dans une fenêtre à part
    connect( legend, SIGNAL(checked(QVariant,bool,int)),SLOT(gestion_graphe_courbe_acq(QVariant,bool,int)));

Pour le traitement, je repère les courbes par leur nom (ou titre de la courbe) pour le moment comme ceci :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
    void Logiciel::gestion_graphe_courbe_acq( const QVariant itemInfo, bool on,int a )  
    {  
        QwtPlotItem *plotItem = plot_spectre->infoToItem( itemInfo );  
        nom_courbe = plotItem->title().text();  
    }

Le souci c'est que si je renomme le nom de la courbe je ne saurais plus l'identifier.

J'ai vu une personne qui avait le même problème que moi : http://www.qtcentre.org/threads/49285

Sauf que QwtLegendItem n'existe plus donc je n'ai pas accès à la méthode identifier :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
    QList<QwtLegendData> legendList = plotItem->legendData();  
    ((QwtLegendItem*)legendList[i])->identifier().serialNumber();