QCustomPlot使用经验


一 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 > 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"<

二 曲线清除

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