1

我正在尝试在 VS2012 中使用 QCustomPlot 示例(如下),带有 Qt 插件的 64 位 Win7 http://www.qcustomplot.com/index.php/tutorials/basicplotting

#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: uninitialized local variable使用'customPlot'。

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

有人可以帮忙找出未正确设置的内容吗,哦,代码应该是什么样子?也许我错过了VS中的一些设置?

谢谢!

4

1 回答 1

2

在使用之前分配 customPlot。

QCustomPlot * customPlot = new QCustomPlot;

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

 QCustomPlot * customPlot = new QCustomPlot(this);
于 2014-01-30T23:37:20.133 回答