1、将下载下来的qcustomplot.h和qcustomplot.cpp加入你的工程中。在你要使用qcustomplot的文件中:
[cpp] view plain copy print?
#include "qcustomplot.h"
然后像使用QWidget那样使用就行,因为QCustomPlot也是继承自QWidget的:
[cpp] view plain copy print?
QCustomplot *myqcp = new QCustomPlot
使用Qt Designer的话,在一个QWidget控件右键,提升为...,
然后在d出的对话框中,在提升为类名那里输入QCustomPlot,然后头文件那里会自动填充为qcustomplot.h。单击添加按钮将QCustomPlot加入提升类列表中,最后单击提升就可以了。
注意:提升之后不会立即看到什么变化,但当你运行程序的时候,你就能看到控件具有坐标和网格了。
2、不用包含qcustomplot.h和qcustomplot.cpp,只需引入qcustomplot.so (GNU/Linux)或qcustomplot.dll(MSWindows) file。接下来说明如何编译qcustomplot库:
首先,从下载地址下载QCustomPlot-sharedlib,然后拷贝qcustomplot.h和qcustomplot.cpp到与qcustomplot-sharedlib同级的目录下,然后在命令行模式进入sharedlib-compilation目录,运行qmakemingw32-make稍等片刻就会产生俩个文件夹debug和release,里面分别有qcustomplot库的debug和release版本,windows是.dll,linux是.a(而官网说的是.so,有点出入?)然后怎么使用qcustomplot很简单,我就不说了- -
注意:如果你使用的Qt版本在5.0以上,需要在.pro文件中的QT变量加上printsupport,
[cpp] view plain copy print?
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets printsupport
这是因为Qt老版本不支持widgets和printsupport。
如果你是用vs编程的话,则按照以下方式//1-将.h和.cpp拷贝到工程目录并加入到工程
qcustomplot.cpp
qcustomplot.h
//2-pro文件加入
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets printsupport
//3-ui加入构建
首先加入QWidget
然后提升
类名QCustomPlot并加入
//4-编程
cpp中引用qcustomplot.h
如果你是用QT creator编程的话,则在.pro文件中添加
QT += printsupport
ClgBar::ClgBar(QWidget *parent) :
QDialog(parent),
ui(new Ui::ClgBar)
{
ui->setupUi(this)
QCustomPlot * m_rectPlot = new QCustomPlot
ui->verticalLayout->addWidget( m_rectPlot )
m_rectPlot->xAxis->setLabel("参数")
m_rectPlot->yAxis->setLabel("个数")
QLinearGradient gradient(0, 0, 0, 400)
gradient.setColorAt(0, QColor(218, 218, 218))
m_rectPlot->setBackground(QBrush(gradient))
QCPBars *bars = new QCPBars(m_rectPlot->xAxis, m_rectPlot->yAxis)
bars->addData(1.0, 20.0)
bars->setName(tr("测试"))
bars->setPen(QPen(QColor(0,255,0)))
bars->setBrush(QBrush(QColor(255,255,0)))
m_rectPlot->rescaleAxes()
m_rectPlot->setInteractions(QCP::iRangeDrag | QCP::iRangeZoom | QCP::iSelectPlottables)
m_rectPlot->replot()
}
或
QCPBars *bars = new QCPBars(m_rectPlot->xAxis, m_rectPlot->yAxis)
bars->setWidth(2)
QVector xLineVector, yLineVector
xLineVector <<1 <<4 <<8 <<12 <<16 <<20 <<24
yLineVector <<4 <<1 <<2 <<4 <<5 <<6 <<7
//bars->setData(xLineVector, yLineVector)
bars->addData(xLineVector, yLineVector)
//bars->addData(10, 20.0)//添加一个
bars->setName(tr("测试"))
bars->setPen(QPen(QColor(255,0,0)))//边框夜色
bars->setBrush(QBrush(QColor(255,255,0)))
//m_rectPlot->rescaleAxes()//缩放坐标轴
//设置为可拖拽、 可放大缩小、可选中
m_rectPlot->setInteractions(QCP::iRangeDrag | QCP::iRangeZoom | QCP::iSelectPlottables)
m_rectPlot->replot()
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)