首页 > 其他 > 详细

QCustomPlot使用经验

时间:2021-07-10 11:25:06      阅读:27      评论:0      收藏:0      [点我收藏+]

一 QCPItemText文本的添加和删除

  • 添加文本,通过下属代码向QCustomPlot对象中的setCoords设定的位置添加了文本
    QCPItemText *addText =new QCPItemText (textParent);//textParent为QCustomPlot对象
    addText->position->setCoords(pole.dist, updateRangY(textParent,pole.type));
    addText->setFont(QFont(font().family(), 10));    
    addText->setText(QTextCodec::codecForName("gbk")->toUnicode(pole.pole.toLatin1().data()));
    addText->setColor(txtColor);
    textParent->replot();
  • 删除文本,没有想到太好的办法,利用函数addText->setText将文本设置为空,即可实现.
  for(int i=0;i<poleCurves.count();i++)
    {
        qDebug()<<"find del pole"<<i<<pole.dist<<poleCurves.at(i).first.dist<<pole.pole<<poleCurves.at(i).first.pole
               <<(abs(pole.dist-poleCurves.at(i).first.dist)<0.01)
              <<(pole.pole==poleCurves.at(i).first.pole);
        if((abs(pole.dist-poleCurves.at(i).first.dist)<0.01)&&poleCurves.at(i).first.pole.contains(pole.pole))
        {
            QPair<PoleInfo,QPair<curveInfo,curveInfo> > tmp=poleCurves.at(i);
            tmp.first.widthText->setText("");
            tmp.first.widthText->position->setCoords(0,0);
            tmp.first.heightText->setText("");
            tmp.first.heightText->position->setCoords(0,0);
            poleCurves.replace(i,tmp);
            pole=poleCurves.at(i).first;
            m_drawWireWidth->graph(poleCurves.at(i).second.first.curveIndex)->setVisible(false);
            m_drawWireHeight->graph(poleCurves.at(i).second.second.curveIndex)->setVisible(false);
            poleCurves.remove(i);
            qDebug()<<"del pole"<<i;
            delFlag=true;
            break;
        }
    }

二 曲线清除

  • 通过隐藏方式
graph(0)->data().data()->clear();
  • 通过清除数据的方式,仅清除了曲线上面数据,曲线的设置被保留
graph(0)->data().data()->clear()

  

 

QCustomPlot使用经验

原文:https://www.cnblogs.com/gethope5/p/14956955.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!