0

我尝试使用 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); 处出现段错误。

我究竟做错了什么?

4

1 回答 1

2

的布局centralWidget可能是 NULL 或者您尚未初始化ui(例如调用setUp())。通过查看您的代码检查第一种情况if(lay == NULL)和第二种情况。

如果第一种情况正确,请查看 QDesigner 中的 UI 文件并添加布局。

于 2012-03-19T00:33:07.310 回答