【发布时间】:2023-02-19 08:55:47
【问题描述】:
我正在尝试使用 QChart 生成正弦波并将其显示在图表上。实际上一切正常。然而,当滚动数据时,有时很快,有时很慢,甚至在程序开始时,它正确显示并随着时间的推移离开屏幕。我无法找出问题的根源,任何想法和建议都会对我有很大帮助。
在我的算法中有一个计时器。当计时器满时,依赖于 x 值的 1 个以上的函数起作用,新点被添加到系列中。在这个过程之后,我尝试滚动到一定程度。
我的定时器功能:
void MyChartView::handleTimeout() {
m_x += 1;
m_y = (amplitude * sin(period * (m_x + horizontalShift)) + verticalShift);
m_series->append(m_x, m_y);
qDebug() << "New Data -> m_x: " << m_x << " m_y: " << m_y;
qDebug() << "Plot area width: " << chart->plotArea().width() << " tickCount: " << m_axisX->tickCount();
if (m_x > 10) {
chart->scroll(chart->plotArea().width() / m_x, 0);
}
this->update();
}
截屏:
我想要的是在数据末尾有一些空间连续滚动。
谢谢。
【问题讨论】: