void FpsMeter::setupChart() { // set up axes QValueAxis* xAxis = new QValueAxis(); xAxis->setMax(CONCURRENT_FPS_VALUES); xAxis->setVisible(false); QValueAxis* yAxis = new QValueAxis(); yAxis->setMax(100); // set up chart mFpsChart->legend()->hide(); mFpsChart->addSeries(mFpsLineSeries); mFpsChart->addSeries(mAverageFpsLineSeries); mFpsChart->setAxisX(xAxis, mFpsLineSeries); mFpsChart->setAxisY(yAxis, mFpsLineSeries); mFpsChart->setAxisX(xAxis, mAverageFpsLineSeries); mFpsChart->setAxisY(yAxis, mAverageFpsLineSeries); // set up chart view mFpsChartView = new QChartView(mFpsChart); mFpsChartView->setRenderHint(QPainter::Antialiasing); // zero out history and line series to create "valid" starting data for(int i = 0; i < CONCURRENT_FPS_VALUES; i++) { mFpsHistory[i] = 0; mFpsLineSeries->append(i, 0); } // create two points in the average fps line series to draw a straight line mAverageFpsLineSeries->append(0, 0); mAverageFpsLineSeries->append(CONCURRENT_FPS_VALUES, 0); // add the chart widget to the layout layout()->addWidget(mFpsChartView); // and finally, conform visibility to initial checkbox state mFpsChartView->setVisible(mEnableCheckBox->isChecked()); }