我用 QChart & QGraphicsScene & QGraphicsView 创建了一个图表,但是当窗口更改时图表不会自动放大或缩小。我怎么能那样做?我在 QChart、QGraphicsScene 或 QGraphicsView 类中没有任何信号或槽。我知道我可以使用 QChart 和 QChartView,但出于某种目的我想要 QChart 和 QGraphicsScene 和 QGraphicsView。这是我绘制图表的代码:
void MainWindow::on_actionDraw_Sine_Chart_triggered()
{
QSplineSeries *spline = new QSplineSeries;
for (double x = -M_PI; x < M_PI; x += 0.01) {
spline->append(x, sin(x));
}
spline->setName(tr("Sine Curve"));
QChart *chart = new QChart;
chart->addSeries(spline);
chart->createDefaultAxes();
chart->axisX()->setRange(-4, 4);
chart->axisY()->setRange(-1.2, 1.2);
chart->setGeometry(ui->graphicsView->rect());
QGraphicsScene *scene = new QGraphicsScene;
scene->addItem(chart);
ui->graphicsView->setScene(scene);
}
完整的代码可在此处获得。