Ejemplo n.º 1
2
void Widget::plotQtChart()
{
    QChart* chart = ui->qtChart->chart();
    if(!chart)
    {
        chart = new QChart();
        ui->qtChart->setChart(chart);
    }
    QValueAxis * axisX = qobject_cast<QValueAxis *>(chart->axisX());
    QValueAxis * axisY = qobject_cast<QValueAxis *>(chart->axisY());
    QLineSeries* line = NULL;
    if(chart->series().size()>0)
    {
        line = qobject_cast<QLineSeries*>(chart->series().at(0));
    }
    else
    {
        line = new QLineSeries;
    }
    line->setUseOpenGL(true);
    chart->addSeries(line);
    line->attachAxis(axisX);
    line->attachAxis(axisY);

    QVector<QPointF> points;
    for(int i=0;i<320000;++i)
    {
        points.append(QPointF(i,sin(i)));
    }
    line->replace(points);
}
Ejemplo n.º 2
0
QTCOMMERCIALCHART_USE_NAMESPACE

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);

//![1]
    QLineSeries* series = new QLineSeries();
//![1]

//![2]
    series->append(10, -6);
    series->append(12, 4);
    series->append(13, 8);
    series->append(17, 4);
    series->append(20, 5);
    *series << QPointF(11, 1) << QPointF(13, 3) << QPointF(17, 6) << QPointF(18, 3) << QPointF(20, 2);
//![2]

//![3]
    QChart* chart = new QChart();
    chart->addSeries(series);
    chart->setTitle("Simple line chart example");

    // ×ø±ê·¶Î§ÉèÖã¬Èç¹û²»³õʼ»¯£¬x·¶Î§Îª×ÔÊÊÓ¦
    chart->axisX()->setRange(-10, 10);  // ³õʼ»¯ºá×ø±ê·¶Î§
    chart->axisY()->setRange(20, 30);   // ³õʼ»¯×Ý×ø±ê·¶Î§
//![3]

//![4]
    QChartView* chartView = new QChartView(chart);
    chartView->setRenderHint(QPainter::Antialiasing);
//![4]

//![5]
    QMainWindow window;
    window.setCentralWidget(chartView);
    window.resize(400, 300);
    window.show();
//![5]

    return a.exec();
}