Bonjour à tous,

A présent j'arrive à afficher chaque légende correspondant à chaque courbe.

QwtLegend facilite la tâche mais pas tellement.

J'aimerais faire une combinaison binaire de 10 chiffres et par exemple : "0010110011".
Ceci me permettrait de savoir si une courbe est sélectionné ou non.

Voici ce que j'ai trouvé dans l'exemple cpuplot de la lib qwt :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
    connect( legend, SIGNAL( checked( const QVariant &, bool, int ) ),
        SLOT( legendChecked( const QVariant &, bool ) ) );
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
void CpuPlot::legendChecked( const QVariant &itemInfo, bool on )
{
    QwtPlotItem *plotItem = infoToItem( itemInfo );
    if ( plotItem )
        showCurve( plotItem, on );
}
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
 
void CpuPlot::showCurve( QwtPlotItem *item, bool on )
{
    item->setVisible( on );
 
    QwtLegend *lgd = qobject_cast<QwtLegend *>( legend() );
 
    QList<QWidget *> legendWidgets = 
        lgd->legendWidgets( itemToInfo( item ) );
 
    if ( legendWidgets.size() == 1 )
    {
        QwtLegendLabel *legendLabel =
            qobject_cast<QwtLegendLabel *>( legendWidgets[0] );
 
        if ( legendLabel )
            legendLabel->setChecked( on );
    }
    replot();
}
-------------------------

infoToItem n'est pas disponible et il faut créer une classe dérivée de QwtPlotItem afin de l'obtenir.

Par la suite je ne suis même pas sur de pouvoir obtenir les informations que je souhaite pour faire ma combinaison binaire.

Vous avez peut être d'autres idées?