基本属性介绍
QCustomPlot *cud;
1. 设置x,y轴范围
cud->xAxis->setRange(-8, 8);//X轴范围
cud->yAxis->setRange(-8, 8);
2. 设置x,y轴上标签上内容
cud->xAxis->setLabel(QString::fromLocal8Bit("时间"));//X轴的名称
cud->yAxis->setLabel(QString::fromLocal8Bit("米(m)"));//Y轴的名称
3. 图例
QFont lenm = font();
lenm.setPointSize(10);//曲线说明的字体大小
cud->legend->setFont(lenm);//使字体设置生效
4. 添加图层和给曲线命名
cud->addGraph();//几条线,添加几个图层
cud->graph(0)->setName(QString::fromLocal8Bit("卫星位置 X"));//给曲线命名
5. 设置标题
cud->plotLayout()->insertRow(0);
QCPTextElement *title = new QCPTextElement(cud, "The Internet", QFont("sans", 17, QFont::Bold));
cud->plotLayout()->addElement(0, 0, title);
6. 设置曲线样式
cud->graph(0)->setScatterStyle(QCPScatterStyle((QCPScatterStyle::ScatterShape)(2)));
//2为x标记,3为一个竖扛,4为空心圆,5为实心圆,6为空心正方形,7为空心棱形,8为*,9为正空心三角形,10为倒空心三角形,11为里面带x的正方形,12为“田”,13,带x的圆
7. 设置曲线颜色
QPen ged;
ged.setColor(QColor(Qt::blue));/蓝色
ged.setStyle(Qt::SolidLine);//实线
ged.setWidthF(1);
cud->graph(0)->setPen(ged);//使用画笔绘制曲线
8. 设置缩放,拖拽
cud->setInteractions(QCP::iSelectPlottables | QCP::iRangeDrag | QCP::iRangeZoom);//实现移动和缩放
9. 自动设置显示界面的范围
cud->graph(0)->rescaleAxes();//自动设置显示界面的范围
菜单设置
cud->setContextMenuPolicy(Qt::CustomContextMenu);
信号量与槽函数
connect(cud, SIGNAL(customContextMenuRequested(QPoint)), this,
SLOT(contextMenuRequest(QPoint)));
//槽函数
void Line_chart::contextMenuRequest(QPoint pos)
{
QTextCodec * de = QTextCodec::codecForName("GBK");
QMenu *menu = new QMenu(this);
menu->setAttribute(Qt::WA_DeleteOnClose);
// general context menu on graphs requested
menu->addAction(de->toUnicode("恢复"), this, SLOT(slotBtn()));
menu->addAction(de->toUnicode("保存图片"), this, SLOT(SavePng()));
menu->popup(cud->mapToGlobal(pos));
}