我已经实现了http://doc.qt.io/qt-5/qtcharts-zoomlinechart-example.html
的缩放示例现在我需要限制缩放。我有两个Y轴,其值为-100到+100(甚至更大),另一个y2轴固定为-pi..pi(没有超出该范围的值)
缩放不得大于数据范围的边界,或至少限制应可以选择。
那么我该如何实现呢?到目前为止,我没有找到QtCharts的其他例子。
此外,我想将缩放重置为原始,让我们说使用Backspace。我该如何重置缩放?
答案 0 :(得分:0)
最新答案,但没有其他答案。
在MyChartView : public QtCharts::QChartView
类中,我使用此方法覆盖mouseReleaseEvent
。右键单击时,轴将立即“缩小”为默认值(这是我想要的)。
如果应该逐步支持缩小,我想连接到QValueAxis :: maxChanged / QValueAxis :: minChanged并检查范围是否可以完成。
void MyChartView::mouseReleaseEvent(QMouseEvent *event) {
if (event->button() == Qt::MouseButton::LeftButton) {
// continue with zoom in
QtCharts::QChartView::mouseReleaseEvent(event);
}
else if (event->button() == Qt::MouseButton::RightButton) {
// reset axis to default
axisY_->setMin(0);
axisY_->setMax(10);
axisX_->setMin(0);
axisX_->setMax(10);
}
}