Russian Qt Forum
Ноябрь 25, 2024, 14:47 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Как удалить свой QWTPlotter из легенды  (Прочитано 2158 раз)
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()));

Спасибо.
« Последнее редактирование: Февраль 27, 2013, 19:53 от alliance » Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.11 секунд. Запросов: 20.