Segfault при добавлении графика Qwt в макет - PullRequest
0 голосов
/ 19 марта 2012

Я пытаюсь построить демонстрационную диаграмму, используя Qwt и C ++. Я добавил следующий код в обработчик нажатия кнопки:

QwtPlot *plot = new QwtPlot(QwtText("Demo"));
plot->setGeometry(0, 0, 100, 100);
QwtPlotCurve curve("Sine");
QVector<double> xs;
QVector<double> ys;
for (double x = 0; x < 100; x++)
{
    xs.append(x);
    ys.append(sin(x));
}
QwtPointArrayData *series = new QwtPointArrayData(xs, ys);
curve.setData(series);
curve.attach(plot);
plot->show();
QLayout *lay = ui->centralWidget->layout();
lay->addWidget(plot);

и это приводит к ошибкам в addWidget (plot);.

Что я делаю не так?

1 Ответ

2 голосов
/ 19 марта 2012

Возможно, макет centralWidget равен NULL или вы не инициализировали ui (например, вызываете setUp()).Проверьте первый случай с помощью if(lay == NULL), а второй, посмотрев на ваш код.

Если первый случай правильный, взгляните на свой файл интерфейса в QDesigner и добавьте макет.

...