在QT应用程序(VS插件)中使用QcustomPlot基本代码停止工作程序

时间:2014-01-30 23:09:07

标签: c++ qt qcustomplot

我正在尝试在VS2012中使用QCustomPlot示例(下面),使用Qt插件http://www.qcustomplot.com/index.php/tutorials/basicplotting

使用64位Win7
#include "customf.h"
#include "../../qcustomplot.h"

customf::customf(QWidget *parent)
    : QMainWindow(parent)
{
    ui.setupUi(this);

QCustomPlot * customPlot; 

// code from example
// generate some data:
QVector<double> x(101), y(101); // initialize with entries 0..100
for (int i=0; i<101; ++i)
{
  x[i] = i/50.0 - 1; // x goes from -1 to 1
  y[i] = x[i]*x[i]; // let's plot a quadratic function
}
// create graph and assign data to it:
customPlot->addGraph();
customPlot->graph(0)->setData(x, y);
// give the axes some labels:
customPlot->xAxis->setLabel("x");
customPlot->yAxis->setLabel("y");
// set axes ranges, so we see all data:
customPlot->xAxis->setRange(-1, 1);
customPlot->yAxis->setRange(0, 1);
customPlot->replot();`enter code here`

}

QcustomPlot代码文件已添加到位置:D:\ userdata \ userXYZ \ My Documents \ Visual Studio 2012 \ Projects,这就是为什么我#include“../../qcustomplot.h”
代码编译时带有警告C4700:使用了未初始化的局部变量'customPlot'。

当我运行应用程序时,它会在1秒后停止工作。

有人可以帮助找到未正确设置的内容,哦代码应该如何?也许我错过了VS的一些设置?

谢谢!

1 个答案:

答案 0 :(得分:2)

在使用之前分配customPlot。

QCustomPlot * customPlot = new QCustomPlot;

不要忘记删除它。或者让Qt为您处理:

 QCustomPlot * customPlot = new QCustomPlot(this);