簡體   English   中英

如何限制 QtCharts 的縮放?

[英]How to limit zoom in QtCharts?

我已經實現了來自http://doc.qt.io/qt-5/qtcharts-zoomlinechart-example.html的縮放示例

現在我需要限制縮放。 我有兩個 Y 軸的值 -100 到 +100(甚至更大),另一個 y2 軸固定在 -pi..pi(沒有超出該范圍的值)

縮放比例不應大於數據范圍的邊界,或者至少可以設置限制。

那么我該如何實現呢? 到目前為止,我沒有找到更多關於 QtCharts 的例子。

此外,我想將縮放重置為原始縮放,比如 Backspace。 我將如何重置縮放?

遲到的答案,但因為沒有其他人..

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);
   }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM