QWT
QwtPlot是用来绘制二维图像
setAxisTitle | 设置轴标题 |
enableAxis | 主要是显示xTop,yRight坐标轴 |
setAxisMaxMajor | 设置某个某个坐标轴扩大比例尺的最大间隔数目 |
setAxisMaxMinor | 设置某个某个坐标轴缩小比例尺的最大间隔数目 |
setAxisScale | 禁用自动缩放比例尺,为某个坐标轴指定一个修改的比例尺 |
insertLegend | 添加图例(标注) |
常见接口
setPen | 设置画笔 |
setData | 设置曲线的数据 |
setStyle | 设置曲线形式,点、直线、虚线等等 |
setCurveAttribute | 设置曲线属性,一般设置Fitted |
attch | 把曲线附加到QwlPlot上 |
void CalcPtDist::drawContents(QPainter *painter,QPolygonF* points)//QPainter
{
ui.qwtPlot->setCanvasBackground(Qt::green);
QwtPlotCurve *curve = new QwtPlotCurve();
//关联控件
curve->attach(this->ui.qwtPlot);
//设置控件x、y轴坐标(min,max,step)
ui.qwtPlot->setAxisScale(QwtPlot::xBottom, 0.0, points->count());
ui.qwtPlot->setAxisScale(QwtPlot::yLeft,0.0, 150.0);
//设置控件x、y轴标题
ui.qwtPlot->setAxisTitle(QwtPlot::xBottom,"x -->");
ui.qwtPlot->setAxisTitle(QwtPlot::yLeft,"y -->");
//设置曲线画笔和风格
curve->setPen(QColor(Qt::red));
curve->setStyle(QwtPlotCurve::Lines);
curve->setSymbol(new QwtSymbol(QwtSymbol::Cross, Qt::NoBrush,
QPen(Qt::black), QSize(5, 5) ) );
curve->setCurveAttribute(QwtPlotCurve::Fitted);
//curve->setSymbol(new QwtSymbol(QwtSymbol::Ellipse, Qt::yellow,
// QPen(Qt::blue), QSize(5, 5) ) );
//curve->setStyle(QwtPlotCurve::Sticks);
//关联样本数据
curve->setSamples(*points);
//绘制曲线
ui.qwtPlot->replot();
}