1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > QT中图表类QChart之各种缩放/平移

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

时间:2021-02-18 01:37:07

相关推荐

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(为什么+代表左移?仔细想想就明白了)

放缩与平移的示例代码同理

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。