日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

QT中图表类QChart之各种缩放/平移

發布時間:2023/12/15 c/c++ 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 QT中图表类QChart之各种缩放/平移 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、使用QChartView來縮放

(1)用鼠標框選一個矩形,把圖放大到這個矩形
QChartView::setRubberBand(QChartView::RectangleRubberBand);//XY方向同時放大到鼠標畫出的矩形大小(也可以設置為只放大X軸或Y軸)

(2)setRubberBand函數同時也能使鼠標右鍵,具備縮小圖的功能。

2、使用Qchart來平移和縮放

QChart::scroll(-10, 5);//整體平移(-10, 5),兩個參數分別為Δx和Δy

QChart::zoomIn(x,y,width,height);//縮放到指定的矩形
QChart::zoom(0.9) ?//整體縮放,參數為放縮系數,<1代表縮小,>1代表放大
QChart::zoomReset() ?//把所有做過的zoomIn、zoomOut、zoom全部撤銷

3、使用QValueAxis或者QDateTimeAxis來平移和縮放

原理就是,通過設置X/Y軸的范圍來實現平移和縮放。

例如,當前顯示X的顯示范圍為[20, 50],如果我們把X軸的顯示范圍擴大到[0, 80],這樣做的效果就是顯示的圖形變小了,也就實現了縮放。

例如,當前顯示X的顯示范圍為[0, 30],如果我們把X軸的顯示范圍擴大到[10, 40],這樣做的效果就是顯示的圖形左移了,也就實現了平移。

示例代碼:

QValueAxis *axisX = dynamic_cast(Chart->axisX(pLineSeries));//
qreal cur_x_min = axisX->min();
qreal cur_x_max = axisX->max();
axisX->setRange(cur_x_min + 20, cur_x_max + 20);//圖形向左平移20(為什么+代表左移?仔細想想就明白了)

放縮與平移的示例代碼同理

總結

以上是生活随笔為你收集整理的QT中图表类QChart之各种缩放/平移的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。