1
私はグラフを使用したいデータを生成していますQChart &お友達。これは初めてQChart
を使用しているので、基本的にはQLineSeries Exampleをコピーして自分のニーズに合わせて修正しました。私は私が私の新しいデータがグラフに表示することが期待されるこのコードを実行するとQLineSeriesにデータを追加した後、QChartを更新/再描画する方法は?
quint64 last=0;
quint64 *lastp=&last;
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
, series(nullptr)
{
ui->setupUi(this);
QChart *chart = new QChart();
series=new QLineSeries(chart);
chart->legend()->hide();
chart->addSeries(series);
chart->createDefaultAxes();
chart->setTitle("Simple line chart example");
QChartView *chartView = new QChartView(chart);
chartView->setRenderHint(QPainter::Antialiasing);
setCentralWidget(chartView);
GeneticTask *gTask = new GeneticTask();
connect(gTask, &GeneticTask::point, this, [=](QPointF pt) {
// New point added to series
*series<<pt;
// Limit updates to once per second
quint64 now=QDateTime::currentMSecsSinceEpoch();
if(now-(*lastp)>1000) {
qDebug()<<"UPDATE";
// [A] WHAT TO PUT HERE TO HAVE CHART REDRAW WITH NEW DATA?
*lastp=now;
}
}
);
QThreadPool::globalInstance()->start(gTask);
}
が、それは、そう私の質問はありません:私の現在のコードは次のようになりますどのように私は、チャートの更新を持つことができます新しいデータを表示するには?つまり、コメントに[A]
が記載されているコードにはどうすればよいですか?
、データが追加され、更新されたが、私は手動に持っていたされていました新しいデータを中心に私はあなたの答えに詳細を追加する自由を取った。 –
また、chart-> createDefaultAxes();を使用することもできます。 – Damien