Я пытаюсь использовать пример QCustomPlot (ниже) в VS2012, 64-битная Win7 с плагином Qt 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 \ Мои документы \ Visual Studio 2012 \ Projects, поэтому я #include «../../qcustomplot.h»
Код был скомпилирован с предупреждением C4700: использовалась неинициализированная локальная переменная «customPlot».
Когда я запускаю приложение, оно перестает работать через 1 секунду.
Может ли кто-нибудь помочь с поиском того, что неправильно установлено, о, как должен выглядеть код? Может быть, я пропустил некоторые настройки в VS?
Спасибо!
Выделите customPlot перед его использованием.
QCustomPlot * customPlot = new QCustomPlot;
И не забудьте удалить его. Или пусть Qt обработает это для вас:
QCustomPlot * customPlot = new QCustomPlot(this);
Других решений пока нет …