Russian Qt Forum

Qt => Вопросы новичков => Тема начата: alliance от Февраль 27, 2013, 19:40



Название: Как удалить свой QWTPlotter из легенды
Отправлено: alliance от Февраль 27, 2013, 19:40
Здравствуйте,

У меня проблема.

Рисую разные графики в QWTPlot и один и тот же по логике график получается с разными отрезками. Но при рисовании этих curve естественно добавляются в легенду лишние записи
Код:
  foreach(QString key, mapXY.keys()){
        bool isFirstcurv = true;
        foreach (QVector<QPointF> points, mapXY[key]) {

            // создаем  кривую с названием процесса
            QwtPlotCurve* curv = NULL;
            if(isFirstcurv){
                curv = new QwtPlotCurve(key);
                curv->attach(ui->myPlot);
                isFirstcurv = false;
            }
            else{
                curv = new QwtPlotCurve();
                curv->attach(ui->myPlot);
        
            // разрешаем для нее сглаживание при прорисовке
            curv->setRenderHint(QwtPlotItem::RenderAntialiased);
            // назначаем цвет прорисовки
            curv->setPen(QPen(colors[color_index]));

            // создаем маркеры для точек первой кривой
            #if QWT_VERSION < 0x060000
                // инструкции для библиотеки Qwt версии 5.x.x
                QwtSymbol symbol1;                      // объявляем экземпляр класса QwtSymbol
                symbol1.setStyle(QwtSymbol::Ellipse);   // назначаем маркерам стиль – эллипс
                symbol1.setPen(QColor(Qt::black));      // цвет прорисовки – черный
                symbol1.setSize(5);                     // размер – 5
                curv1->setSymbol(symbol1);              // прикрепляем его к кривой
            #else
                // инструкции для библиотеки Qwt версии 6.x.x
                QwtSymbol *symbol1 = new QwtSymbol();
                symbol1->setStyle(QwtSymbol::Ellipse);
                symbol1->setPen(QColor(Qt::black));
                symbol1->setSize(4);
                curv->setSymbol(symbol1);
            #endif

            // передаем кривым подготовленные данные
        #if QWT_VERSION < 0x060000
            // инструкции для библиотеки Qwt версии 5.x.x
            curv->setData(points);
        #else
            // инструкции для библиотеки Qwt версии 6.x.x
            curv->setSamples(points);
        #endif

        curvs.push_back(curv);

        }
        color_index++;
}

Подскажите, плиз, как удалить запись о curve из Legend
Никак не получается

пробую
Код:
 curv = new QwtPlotCurve();
                curv->attach(ui->myPlot);
                leg->find(curv->legendItem()->depth());
                leg->remove(leg->find(curv->legendItem()));

Спасибо.